Avevo bisogno di un modo per filtrare il contenuto di una pagina / post prima che fosse caricato in modo da poter aggiungere script all'intestazione se fosse presente uno shortcode specifico. Dopo molte ricerche mi sono imbattuto in questo su 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');
che è assolutamente geniale e ha fatto esattamente ciò di cui avevo bisogno.
Ora ho bisogno di estenderlo un po 'di più e fare lo stesso per le barre laterali. Può essere per un particolare tipo di widget, shortcode, snippet di codice o qualsiasi altra cosa che possa funzionare per identificare quando è necessario caricare lo script.
Il problema è che non riesco a capire come accedere al contenuto delle barre laterali prima che la barra laterale venga caricata (il tema in questione avrà diverse barre laterali)