当没有特色图像时,回退默认图像

时间:2019-04-24 作者:Benjamin Franklin

我尝试了很多选择,但运气不佳。它应该是非常简单的方法,但不会产生结果。如果帖子中没有特色图片,我会尝试插入默认的回退图片。生成缩略图的我的代码:

    <?php if ( has_post_thumbnail() ): ?>
    <div class="post-card__image">
      <a href="<?php the_permalink(); ?>">
        <?php the_post_thumbnail( \'post-card-cropped\' ); ?>
      </a>
    </div>

3 个回复
SO网友:Vasim Shaikh

Method 1: Set Default Fallback Image for Post Thumbnails Using Plugin

此方法更简单,建议所有用户使用。

您需要做的第一件事是安装并激活默认的特色图像插件。

https://wordpress.org/plugins/default-featured-image/

Method 2: Add Fallback Image as Post Thumbnail Manually

主题的图像文件夹位于/wp-content/themes/yur-theme/folder内。如果它没有图像文件夹,那么您需要创建它。

将图像上载到网站后,下一步是告诉WordPress在帖子没有自己的帖子缩略图时查找此图像。

您的WordPress主题在不同的位置显示帖子缩略图。您需要在主题文件中查找\\u post\\u thumbnail()函数。通常,您可以在存档中找到它。php,单个。php或内容模板。

接下来,需要在要显示文章缩略图的位置添加以下代码。

<?php if ( has_post_thumbnail() ) {
the_post_thumbnail();
} else { ?>
<img src="<?php bloginfo(\'template_directory\'); ?>/images/default-image.jpg" alt="<?php the_title(); ?>" />
<?php } ?>
不要忘记替换默认图像。使用您自己的图像文件名的jpg。

SO网友:Krzysiek Dróżdż

所以你就快到了。。。

<?php if ( has_post_thumbnail() ) : ?>
<div class="post-card__image">
  <a href="<?php the_permalink(); ?>">
    <?php the_post_thumbnail( \'post-card-cropped\' ); ?>
  </a>
</div>
<?php else : ?>
    <!—-... here goes your fallback —->
    <?php echo wp_get_attachment_image( 10, \'post-card-cropped\' ); ?>
<?php endif; ?>
在上面的示例中,我使用ID为10的附件作为默认回退映像。当然,您可以更进一步,为此创建一个可自定义的选项。或者使用一些静态html代码/静态图像。。。选择权在你。

SO网友:Nuno Sarmento

我们可以使用下面的代码设置默认图像。

/**
 * Default post thumbnail image.
 *
 * @param  string $html The Output HTML of the post thumbnail
 * @param  int $post_id The post ID
 * @param  int $post_thumbnail_id The attachment id of the image
 * @param  string $size The size requested or default
 * @param  mixed string/array $attr Query string or array of attributes
 * @return string $html the Output HTML of the post thumbnail
 */
function ns_post_thumbnail_fb( $html, $post_id, $post_thumbnail_id, $size, $attr ) {
 if ( empty( $html ) ) {
    return sprintf(
        \'<img src="%s" height="%s" width="%s" />\',
        home_url().\'/wp-content/uploads/2021/02/hub-logo-dummy.png\',
        get_option( \'thumbnail_size_w\' ),
        get_option( \'thumbnail_size_h\' )
    );
}

return $html;
}
add_filter( \'post_thumbnail_html\', \'ns_post_thumbnail_fb\', 20, 5 );

相关推荐