我有这段代码
<?php
$loop = new WP_Query(array(\'post__not_in\' => array($latestId),\'post_type\' => \'post\', \'posts_per_page\' => 9,\'paged\' => ( get_query_var(\'page\') ? get_query_var(\'page\') : 1 )));
$i=1;
while ( $loop->have_posts() ) : $loop->the_post();
$image = wp_get_attachment_image_src( get_post_thumbnail_id($recent_posts[0][\'ID\']), \'full\' );
$thumbnailImg=$image[0]?$image[0]:catch_that_image($recent_posts[0]);
?>
然后我就跟着
<div
class="post-card__thumb__img h-bg-zoom__img"
style="background-image: url(\'<?php echo $thumbnailImg; ?>\');"></div>
但我得到的只是到处显示的上一篇文章的缩略图(而不是每个特定文章的缩略图)。
我的循环显然有问题。任何帮助都将不胜感激。非常感谢。
最合适的回答,由SO网友:Sally CJ 整理而成
我猜问题在于:$recent_posts[0][\'ID\']
; 我不明白$recent_posts
在代码中定义,那么这到底是什么$recent_posts
您在哪里/如何定义它
$image = wp_get_attachment_image_src( get_post_thumbnail_id($recent_posts[0][\'ID\']), \'full\' );
而你在循环中,所以你可以打电话
get_post_thumbnail_id()
无需指定帖子ID&mdash;或使用
get_the_ID()
要获取当前帖子的ID,请执行以下操作:
$image = wp_get_attachment_image_src( get_post_thumbnail_id(), \'full\' ); // use this or below
//$image = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), \'full\' );
我认为
$thumbnailImg=$image[0]?$image[0]:catch_that_image($recent_posts[0]);
还应为:
$thumbnailImg=$image[0]?$image[0]:catch_that_image( get_the_ID() );