web-dev-qa-db-fra.com

Point d'activation du thème WordPress?

Je connais les nombreuses astuces pour voir si ce thème est activé, j'ai parcouru Internet. Je ne cherche pas à recoller ce code. Ce que je recherche cependant, c’est la météo ou pas 3.3.3.3.5 a publié une nouvelle fonction qui fait quelque chose sur theme_init, j’ai vu une sorte de crochet, mais je ne me souviens pas où, dans le codex, traiter des choses après un thème a été initialisé ..

Quelqu'un sait?

3
TheWebs

Vous recherchez peut-être le hook after_setup_theme:

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

0
birgire

Pour quiconque tombe sur cette question; il existe une action à laquelle vous pouvez vous connecter (ajouté 3.3.0) et qui est déclenchée uniquement lors de l'activation d'un nouveau thème: 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

Pour faire quelque chose sur la désactivation d’un thème, vous pouvez utiliser l’action soeur: switch_theme

16
sleepingkiwi

Avec les fonctionnalités d'aperçu du thème, il est peu probable qu'il y ait jamais un crochet d'activation de thème car les thèmes doivent fonctionner même sans être "activés".

3
Mark Kaplun

Après avoir essayé la méthode @sleepingkiwi, j'ai rencontré un problème. Un client peut essayer un thème différent (même si ce n'est que pour un moment), cela peut créer un problème car le pointeur "Activation par thème" que nous avons créé a été exécuté deux fois.

La meilleure méthode consiste à utiliser after_switch_theme de concert avec Wordpress "update_option" pour enregistrer et vérifier plus tard une notification d'activation rendant cette méthode à l'épreuve de balles.

Exemple:

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

    }
}

J'espère que cela t'aides.

1
Sagive SEO