Wie hänge ich in die Aufhebung der Registrierung einer Widget-Instanz ein?

Ich möchte mich in eine Widget-Instanz einklinken, nachdem sie auf der Seite “Darstellung -> Widgets-Admin” aus einem Seitenleistenbereich entfernt wurde.

Wenn also die Instanz ein aktives Widget war und dann entfernt wurde, würde ich gerne in diese Instanz einhaken, bevor sie entfernt wird.

Kann es gemacht werden?

Solutions Collecting From Web of "Wie hänge ich in die Aufhebung der Registrierung einer Widget-Instanz ein?"

Ja, das kann gemacht werden. Letztendlich bedeutet das Hinzufügen und Entfernen eines Widgets zu / von einer Seitenleiste das Aktualisieren einer Option in der database mit einem Aufruf wie diesem:

update_option( 'sidebars_widgets', array( ... ) ) 

Wenn Sie sich den Code von update_option ansehen, update_option Sie, dass ein Filter kurz vor dem eigentlichen Update aufgerufen wird. Wenn Sie also etwas tun möchten, bevor ein Widget entfernt wird, können Sie Folgendes eingeben:

 add_filter ('pre_update_option_sidebars_widgets','wpse71075_pre_remove_widget',10,3); 

An diesem Punkt wissen Sie nur, dass sich die Liste der aktiven Widgets ändern wird, nicht ob es eine Addition oder eine Entfernung ist. Allerdings haben Sie $value und $old_value der Option, die Sie innerhalb Ihrer Filterfunktion vergleichen können (eine array_search für die Beschriftung eines Widgets könnte ausreichen).

Lesen Sie die Antwort zu dieser Frage , um mehr über die Struktur der Option sidebars_widgets zu erfahren. Es hängt von Ihrem Ziel ab, was Sie tatsächlich entdecken und tun möchten.