设置不带链接的默认占位符图像

时间:2012-08-30 作者:V Neal

有人能帮忙吗?

当用户尚未上传图像时,我试图在帖子上显示默认占位符图像。

我有下面的代码,但我需要重写它,以便链接不应用于占位符图像-只有上传的图像。

不幸的是,我的PHP一点都不好,所以希望能得到一些帮助。。

<div class="imageContainer"><a href="<?php the_permalink(); ?>">
           <?php
    // Must be inside a loop.

    if ( has_post_thumbnail() ) {
        the_post_thumbnail(\'size-2\');
    }
    else {
        echo \'<img src="\' . get_bloginfo( \'stylesheet_directory\' ) . \'/images/shared/placeholder.jpg" />\';
    }
    ?>
            </a></div>

2 个回复
最合适的回答,由SO网友:Scott 整理而成
<div class="imageContainer">
    <?php if ( has_post_thumbnail() ) : ?>
        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(\'size-2\'); ?></a>
    <?php else : ?>
        <img src="<?php echo get_bloginfo( \'stylesheet_directory\' ); ?>/images/shared/placeholder.jpg" />
    <?php endif; ?>
</div>
SO网友:fuxia

您可以在打印出缩略图HTML之前对其进行过滤。如果为空–返回占位符。

这应该进入你的主题functions.php:

add_filter( \'post_thumbnail_html\', \'wpse_63591_default_thumb\' );

function wpse_63591_default_thumb( $html )
{
    if ( \'\' !== $html )
    {
        return \'<a href="\' . get_permalink() . \'">\' . $html . \'</a>\';
    }

    return \'<img src="\' . get_bloginfo( \'stylesheet_directory\' ) . \'/images/shared/placeholder.jpg" />\';    
}
在模板中只需使用

the_post_thumbnail(\'size-2\');
不再需要任何条件或复杂的PHP。:)

结束

相关推荐