Przygotowuję motyw potomny dla niektórych członków mojego wydziału i jako część tego motywu chciałbym, aby garść wtyczek była aktywowana w momencie aktywacji motywu. Oczywiście użyłem akcji after_setup_theme i wywołałem funkcję konfiguracji. Działa świetnie, z wyjątkiem tego, że działa na KAŻDYM żądaniu (administratora i innych). Udowodniłem to, dodając to na końcu funkcji konfiguracji:
echo '<script type="text/javascript">alert("This action was run")</script>';
W rezultacie otrzymuję alert javascript dla każdego żądania administratora i każdego żądania frontonu (mam konfigurację sieci, więc oczywiście w witrynach, w których ten motyw nie jest aktywny, nie działa funkcja)
Pytanie brzmi, czy to błąd? Czy robię coś złego? Oto pełny kod, którego używam:
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>';
}
Wszelkie informacje będą mile widziane!
after_switch_theme
robi dokładnie to, co zamierzałem tutaj. Uruchamia się po przełączeniu motywu na motyw. Jedno z wymienionych poniżej rozwiązań wykorzystujeswitch_theme
. Nie przynosi to pożądanych rezultatów, ponieważ dzieje się to dopiero po odejściu od tematu. Odwołaj się do tego komentarza Trac