帖子缩略图未显示快捷代码

时间:2019-10-11 作者:pressword

我用以下代码创建了一个快捷码:

add_shortcode(\'recent-newsletter\', \'recent_newsletter\');
function recent_newsletter() {
    $recentnews = new WP_Query(array(
        \'post_type\' => \'newsletter\',
        \'posts_per_page\' => 1
    ));
    $news =\'\';
    if ($recentnews->have_posts()) {
        while($recentnews->have_posts()){
            $recentnews->the_post();
         if (has_post_thumbnail() ) {
             $news .= get_the_post_thumbnail(\'thumbnail\');
            }
         $news .= \'<a href="\'.get_permalink().\'">\'.get_the_title().\'</a>\';
        }
    } else { $news = \'no posts\';}
    wp_reset_postdata();
return $news;
}
首先,CPT工作正常,图像显示在主查询上。

我遇到的问题是,我想拉缩略图大小,而不是完整的图像。

该行:

         $news .= get_the_post_thumbnail(\'thumbnail\');
不显示图像。如果我将其更改为:

         $news .= get_the_post_thumbnail();
将显示完整图像。如何仅显示缩略图大小的图像?

2 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

的第一个参数get_the_post_thumbnail() 不是要使用的图像大小。它是您想要获取其缩略图的帖子的ID或对象。要获取缩略图大小,请将参数second设置为\'thumbnail\'. 第一个参数只能设置为null 要为当前帖子获取它,请执行以下操作:

$news .= get_the_post_thumbnail( null, \'thumbnail\' );

SO网友:Vantiya

您应该将第一个参数作为post id传入get_the_post_thumbnail(). 当你看到缩略图时,你可以像这样传递帖子的id

get_the_post_thumbnail( get_the_ID(), \'thumbnail\' );
您还可以指定要显示为的图像的大小

get_the_post_thumbnail( get_the_ID(), array( 100, 100) );

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post