我想做一個if語句來測試帖子是否有圖片。如果他們這樣做,我希望他們做一件事,如果沒有,我希望他們做別的事情。你可以在wordpress中測試img標籤中的the_content()嗎?
有人可以引導我在正確的方向嗎?
我想做一個if語句來測試帖子是否有圖片。如果他們這樣做,我希望他們做一件事,如果沒有,我希望他們做別的事情。你可以在wordpress中測試img標籤中的the_content()嗎?
有人可以引導我在正確的方向嗎?
if(($c = get_the_content()) && strstr('<img',$c))
{
//has an image/you can use $c saves calling the function again
}else
{
//No image.
}
這是最快的方法來做到這一點,可能不是100%準確的你。
這實際上導致內容顯示兩次。 – chris 2010-09-10 21:57:08
是啊,它滑了我的腦海,你必須使用'get_the_content()' – RobertPitt 2010-09-10 22:04:03
我最終使用:
<?php
ob_start();
the_content();
$content = ob_get_clean();
if(!strpos($content, "<img")) {
the_content();
} else {
echo '<img src="' . catch_that_image() . '" alt=""/>';
}
?>
catch_that_image()
是一個自定義功能,我發現只顯示來自後的圖像。
你可以只驗證你爲什麼需要啓動輸出緩衝區? – RobertPitt 2010-09-10 21:30:58
否則會顯示內容。我只是想把它變成一個變量。也許有一個WordPress的功能,默認情況下,但這個工程。 – chris 2010-09-10 21:47:42
你可以使用'get_the_content' – RobertPitt 2010-09-10 22:03:34
爲什麼不只是使用內置的特色圖像功能?
// in functions.php
add_image_size('my-custom-image-size', width, height);
// in the template
if (has_post_thumbnail()) {
the_post_thumbnail('my-custom-image-size');
} else {
the_content();
}
//or via a filter
function my_image_replacement($the_content) {
global $post;
if (has_post_thumbnail()) {
$the_content = get_the_post_thumbnail($post->ID, 'my-custom-image-size');
// other stuff as necessary
}
return $the_content;
}
add_filter('the_content', 'my_image_replacement', 11);
檢查字符串匹配是資源負載嗎? – chris 2010-09-10 21:06:08
strstr真的沒有任何效果。 – RobertPitt 2010-09-10 21:10:14