Je mets en place un thème enfant pour certains de mes professeurs, et dans le cadre du thème, j'aimerais qu'une poignée de plugins soient activés au moment où le thème est activé. Donc, naturellement, j'ai utilisé l'action after_setup_theme et appelé ma fonction de configuration. Cela fonctionne très bien, sauf qu'il s'exécute sur CHAQUE demande (administrateur ou autre). J'ai prouvé cela en ajoutant ceci à la fin de la fonction de configuration:
echo '<script type="text/javascript">alert("This action was run")</script>';
Et par conséquent, obtenez une alerte javascript sur chaque demande d'administration et chaque demande frontale (j'ai une configuration réseau, donc évidemment sur les sites où ce thème n'est pas actif, il n'exécute pas la fonction)
La question est donc: est-ce un bug? Suis-je en train de faire quelque chose de mal? Voici le code complet que j'utilise:
add_action( 'after_setup_theme', 'fwp_setup' );
function fwp_setup(){
// -- Unrelated code remove for the sake of brevity
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-admin/includes/plugin.php');
activate_plugin('enable-media-replace/enable-media-replace.php');
activate_plugin('seo-image/seo-friendly-images.php');
activate_plugin('w3-total-cache/w3-total-cache.php');
echo '<script type="text/javascript">alert("This action was run")</script>';
}
Toute opinion serait très appréciée!
after_switch_theme
fait exactement ce que je voulais ici. Il se déclenche après que le thème est passé à votre thème. L'une des solutions mentionnées ci-dessous utiliseswitch_theme
. Cela n'a pas les résultats escomptés, car cela ne se produit qu'en quittant votre thème. Référencer ce commentaire Trac