Estoy configurando un tema secundario para algunos de los miembros de mi facultad, y como parte del tema, me gustaría activar un puñado de complementos en el momento en que se activa el tema. Entonces, naturalmente, usé la acción after_setup_theme y llamé a mi función de configuración. Funciona muy bien, excepto que se ejecuta en CADA solicitud (administrador y de otra manera). Lo probé agregando esto al final de la función de configuración:
echo '<script type="text/javascript">alert("This action was run")</script>';
Y como resultado, recibo una alerta de JavaScript en cada solicitud de administrador y en cada solicitud de front-end (tengo una configuración de red, así que obviamente en sitios donde este tema no está activo, no está ejecutando la función)
Entonces la pregunta es, ¿es esto un error? ¿De alguna manera estoy haciendo algo mal? Aquí está el código completo que estoy 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>';
}
Cualquier idea sería muy apreciada!
after_switch_theme
hace exactamente lo que pretendía aquí. Se activa después de que el tema se cambia a su tema. Una de las soluciones mencionadas a continuación utilizaswitch_theme
. Esto no tiene los resultados deseados, ya que solo ocurre al cambiar de tema. Haga referencia a este comentario de Trac