WordPress Theme Aktivierungshaken?

Ich kenne die vielen Tricks um zu sehen ob das Thema aktiviert ist, ich habe das Internet durchforstet. Ich bin nicht auf der Suche nach diesem Code. Was ich suche ist aber Wetter oder nicht 3.3-3.5 veröffentlicht eine neue function, die etwas auf theme_init tut, sah ich eine Art von Haken, aber ich kann mich nicht erinnern, wo, im Codex, Umgang mit Dingen nach einem Thema zu tun hat wurde initialisiert ..

Weiß jemand?

Solutions Collecting From Web of "WordPress Theme Aktivierungshaken?"

Möglicherweise suchen Sie nach dem after_setup_theme Hook:

http://codex.wordpress.org/Plugin_API/Action_Reference/after_setup_theme

Für jeden, der über diese Frage stolpert; Es gibt eine Aktion, in die Sie sich after_switch_theme können (hinzugefügt 3.3.0), die nur bei Aktivierung eines neuen Themas after_switch_theme : after_switch_theme

 add_action('after_switch_theme', 'mytheme_setup_options'); function mytheme_setup_options () { //doing a thing... } 

http://codex.wordpress.org/Plugin_API/Action_Reference/after_switch_theme

Um etwas bei der Deaktivierung eines Themas zu tun, können Sie die Schwesteraktion verwenden: switch_theme

Mit den Theme-Vorschau-Features ist es unwahrscheinlich, dass es jemals einen Theme-Aktivierungs-Hook geben wird, da Themes funktionieren müssen, auch ohne “aktiviert” zu sein.

Nachdem ich @sleepingkiwi Methode versucht habe, stieß ich auf ein Problem. Ein Client könnte ein anderes Thema versuchen (auch wenn nur für einen Moment), könnte dies ein Problem aufgrund der Tatsache, dass der “on theme activation” Hook, den wir erstellt haben, zweimal ausgeführt wurde.

Die beste Methode ist die Verwendung von after_switch_theme in Verbindung mit WordPress “update_option” zum Speichern und späteren Überprüfen eines Aktivierungshinweises, der diese Methode kugelsicher macht.

Beispiel:

 add_action('after_switch_theme', 'sgx_activation_hook'); function sgx_activation_hook() { if(get_option('SOMEPREFIX_theme_activated') != '1') { update_option( 'SOMEPREFIX_theme_activated', '1' ); // RUN THEME_ACTIVATION STUFF HERE } } 

Hoffe das hilft.