Potrzebowałem sposobu na odfiltrowanie zawartości strony / postów przed jej załadowaniem, aby móc dodać skrypty do nagłówka, jeśli występuje określony krótki kod. Po wielu poszukiwaniach natknąłem się na to na 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');
co jest absolutnie genialne i zrobiło dokładnie to, czego potrzebowałem.
Teraz muszę go trochę rozszerzyć i zrobić to samo dla pasków bocznych. Może to być określony typ widżetu, krótki kod, fragment kodu lub cokolwiek innego, co działałoby w celu zidentyfikowania, kiedy skrypt musi zostać załadowany.
Problem polega na tym, że nie mogę dowiedzieć się, jak uzyskać dostęp do zawartości pasków bocznych przed załadowaniem paska bocznego (dany motyw będzie miał kilka pasków bocznych)