你可以在wordpress中测试img标签的the_content()吗?

时间:2010-09-10 21:03:54

标签: php wordpress

我想制作一个if语句来测试帖子中是否有图像。如果他们这样做,我希望他们做一件事,如果不是,我希望他们做其他事情。

有人可以指导我朝正确的方向发展吗?

3 个答案:

答案 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);