페이지 / 포스트 컨텐츠를로드하기 전에 필터링하여 특정 단축 코드가있는 경우 헤더에 스크립트를 추가 할 수있는 방법이 필요했습니다. 많은 검색 후 나는 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');
그것은 절대적으로 훌륭하고 내가 필요한 것을 정확하게했습니다.
이제 조금 더 확장하고 사이드 바에 대해서도 동일하게 수행해야합니다. 특정 위젯 유형, 단축 코드, 코드 스 니펫 또는 스크립트를로드해야 할시기를 식별하는 데 사용되는 기타 유형일 수 있습니다.
문제는 사이드 바가로드되기 전에 사이드 바 내용에 액세스하는 방법을 알 수 없다는 것입니다 (문제의 테마에는 여러 사이드 바가 있음)