Was macht diese Instanzvariable in der Widgets-class?

Der Mangel an Dokumentation für die WP_Widget-class macht mich verrückt. Hier ist, was ich aus dem Codex gerettet habe:

public function form($instance){ ?> <label for="get_field_id('title'); ?>">Title: <input type="text" name="get_field_name('title'); ?>" value="" id="get_field_id('title'); ?>" />  <?php } 

Was ist diese $instance Instanzvariable? Die Dokumentation sagt, dass es The settings for the particular instance of the widget . Aber warum ist es dann nicht einfach eine andere Eigenschaft von $this . Warum scheint $this->get_field_name('title') etwas über einen Titel zu wissen und plötzlich, wenn wir den gottverdammten Titel wollen, muss ich anfangen, in diese Instanzvariable zu gehen. Was vermisse ich hier.

Kannst du mir erklären, wo der $title steht, was zur Hölle ist die $instance von $this und warum benutzen wir den Titel um den Feldnamen zu erhalten?

Vielen Dank!

Solutions Collecting From Web of "Was macht diese Instanzvariable in der Widgets-class?"

$instance enthält die Daten, die für diese Widget-Instanz als Array gespeichert sind. Sie könnten dasselbe Widget mehrmals verwenden und jedes würde andere Daten erhalten.

get_field_name() und get_field_id() gibt name / id-Attribute für dieses Widget zurück. Sie sind für jedes Widget einzigartig, hängen aber nicht von den Daten ab. Deshalb müssen sie nichts über die $instance wissen:

 function get_field_name($field_name) { return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . ']'; }