Ich richte für einige meiner Fakultätsmitglieder ein untergeordnetes Thema ein. Als Teil des Themas möchte ich, dass eine Handvoll Plugins zum Zeitpunkt der Aktivierung des Themas aktiviert werden. Also habe ich natürlich die Aktion after_setup_theme verwendet und meine Setup-Funktion aufgerufen. Es funktioniert großartig, außer es läuft auf JEDER Anfrage (admin und sonst). Ich habe dies bewiesen, indem ich dies am Ende der Setup-Funktion hinzugefügt habe:
echo '<script type="text/javascript">alert("This action was run")</script>';
Als Ergebnis erhalten Sie eine Javascript-Warnung für jede Administratoranforderung und jede Front-End-Anforderung (ich habe ein Netzwerk-Setup, daher wird die Funktion auf Websites, auf denen dieses Thema nicht aktiv ist, offensichtlich nicht ausgeführt).
Die Frage ist also, ist das ein Fehler? Mache ich irgendwie etwas falsch Hier ist der vollständige Code, den ich verwende:
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>';
}
Jeder Einblick wäre sehr dankbar!
after_switch_theme
macht genau das, was ich hier beabsichtigt habe. Es wird ausgelöst, nachdem das Thema auf Ihr Thema umgestellt wurde. Eine der unten genannten Lösungen verwendetswitch_theme
. Dies führt nicht zu den gewünschten Ergebnissen, da dies nur beim Wechseln von Ihrem Thema geschieht. Verweisen Sie auf diesen Trac Kommentar