마지막으로 거친 작동 해결책을 찾아 냈습니다. 그것은 아마도 최종 버전이 아니지만 여기에 관심이있을만한 사람을위한 나의 해결책이 있습니다.
function gotImages()
{
global $wp_query;
$posts = $wp_query->posts;
if (empty($posts))
return $posts;
$searchImages = '~<img [^>]* />~';
foreach ($posts as $post) {
$content = $post->post_content;
preg_match_all($searchImages, $content, $countImages);
$images += count($countImages[0]);
}
return ($images >= 1 ? true : false);
}
전류 루프의 내용을 읽고 <IMG>
태그를 검색합니다 functions.php에 넣을 경우이 기능. 하나 이상의 태그가 발견되면 true를 반환하고 그렇지 않으면 false를 반환합니다.
이제 이미지에 어떤 게시물이 있는지에 따라 조건부로 스크립트 또는 스타일 시트를 대기열에 추가 할 수 있습니다.
이 같은 예를 들어
if(!is_admin() && gotImages() == true) :
wp_register_script('fancybox', get_stylesheet_directory_uri() . '/libs/fancybox/jquery.fancybox.pack.js', array('jquery'), false, true);
wp_register_script('fancybox.init', get_stylesheet_directory_uri() . '/js/init/lightbox.init', array('fancybox'), false, true);
wp_enqueue_script('fancybox');
wp_enqueue_script('fancybox.init');
endif;
잘 모르겠어요 아직 지금은 그것의 큰 문제가되지 않습니다 그래서 '비용'이 기능을하지만 난 그것에 일하고 있어요 사이트 아주 작은 방법 프로세스 시간에 몇 ms를 추가합니다.
루프의 첫 번째 게시물을 확인하는 것 같습니다. 나는 1 개 이상 있다면 나머지를 통해 루프하는 방법을 알아낼 필요가있다. 함수로부터의 복귀는 Wordpress가 자바 스크립트를 큐에 넣어야 할지를 결정하거나 클래스 나 ID와는 아무 관계가 없다. – Brigante
@Johannes 홈페이지에 PHP를 게시 할 수 있습니까? – dyelawn
지금은 내 컴퓨터가 아니지만 기본 Twentyeleven 테마입니다. Btw functions.php에서 함수를 호출하여 루프 외부에 있도록합니다. – Brigante