但它们都是从数据库中获取的。
问题是你忽视了其中的一半。或者更确切地说,将其中的两个合并并显示为一个。
让我们看看您的代码:
while ( $query->have_posts() ) {
$query->the_post(); // <- here you call the_post() first time
$output.=\'<div class="entry filter_product">\';
// and in the next line you call the_post second time
$output.=get_the_post_thumbnail($query->the_post()->ID,\'medium\');
$output.=\'<h3 class="title">\'.get_the_title().\'</h3>\';
$output.=\'</div>\';
}
每次调用\\u post方法时,都会告诉循环转到下一篇文章。因此,如果在一个循环中调用\\u post两次,那么将跳过两次post,而不是一次。
您应该更改此行:
$output.=get_the_post_thumbnail($query->the_post()->ID,\'medium\');
为此:
$output.=get_the_post_thumbnail(get_the_ID(),\'medium\');