我用以下代码创建了一个快捷码:
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();
将显示完整图像。如何仅显示缩略图大小的图像?
最合适的回答,由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) );