我想制作一个if语句来测试帖子中是否有图像。如果他们这样做,我希望他们做一件事,如果不是,我希望他们做其他事情。
有人可以指导我朝正确的方向发展吗?
答案 0 :(得分:3)
if(($c = get_the_content()) && strstr('<img',$c))
{
//has an image / you can use $c saves calling the function again
}else
{
//No image.
}
这是最快捷的方式,可能不是100%准确。
答案 1 :(得分:0)
我最终使用了:
<?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()
是我发现的自定义函数,只显示帖子中的图像。
答案 2 :(得分:0)
为什么不使用内置的精选图片功能?
// 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);