J'avais besoin d'un moyen de filtrer le contenu d'une page / messages avant qu'il ne soit chargé afin que je puisse ajouter des scripts à l'en-tête si un shortcode spécifique était présent. Après de nombreuses recherches, je suis tombé sur ceci sur 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');
ce qui est absolument génial et a fait exactement ce dont j'avais besoin.
Maintenant, je dois l'étendre un peu plus et faire de même pour les barres latérales. Il peut s'agir d'un type de widget particulier, d'un shortcode, d'un extrait de code ou de tout autre élément qui pourrait identifier le moment où le script doit être chargé.
Le problème est que je ne peux pas comprendre comment accéder au contenu des barres latérales avant que la barre latérale ne soit chargée (le thème en question aura plusieurs barres latérales)