Necesitaba una forma de filtrar el contenido de una página / publicación antes de que se cargara para poder agregar scripts al encabezado si hubiera un shortcode específico. Después de mucho buscar me encontré con esto en http://wpengineer.com
function has_my_shortcode($posts) {
if ( empty($posts) )
return $posts;
$found = false;
foreach ($posts as $post) {
if ( stripos($post->post_content, '[my_shortcode') )
$found = true;
break;
}
if ($found){
$urljs = get_bloginfo( 'template_directory' ).IMP_JS;
wp_register_script('my_script', $urljs.'myscript.js' );
wp_print_scripts('my_script');
}
return $posts;
}
add_action('the_posts', 'has_my_shortcode');
que es absolutamente brillante e hizo exactamente lo que necesitaba.
Ahora necesito extenderlo un poco más y hacer lo mismo para las barras laterales. Puede ser por un tipo de widget en particular, código corto, fragmento de código o cualquier otra cosa que funcione para identificar cuándo se necesita cargar el script.
El problema es que no puedo entender cómo acceder al contenido de las barras laterales antes de cargar la barra lateral (el tema en cuestión tendrá varias barras laterales)