Estou configurando um tema infantil para alguns dos membros do meu corpo docente e, como parte do tema, gostaria que um punhado de plug-ins fosse ativado no momento em que o tema fosse ativado. Então, naturalmente, usei a ação after_setup_theme e chamei minha função de configuração. Funciona muito bem, exceto que é executado em TODAS as solicitações (admin e outras). Eu provei isso adicionando isso ao final da função de instalação:
echo '<script type="text/javascript">alert("This action was run")</script>';
E, como resultado, receba um alerta javascript em todas as solicitações de administrador e solicitações de front-end (eu tenho uma configuração de rede, portanto, obviamente, em sites onde esse tema não está ativo, não está executando a função)
Então a questão é: isso é um bug? De alguma forma, estou fazendo algo errado? Aqui está o código completo que estou usando:
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>';
}
Qualquer visão seria muito apreciada!
after_switch_theme
faz exatamente o que pretendi aqui. É acionado depois que o tema é alternado para o seu tema. Uma das soluções mencionadas abaixo é usadaswitch_theme
. Isso não tem os resultados desejados, pois só acontece após a mudança do tema. Faça referência ao comentário do Trac