我正在尝试使用WP_Query输出标签为3的最新帖子。我在stackoverflow上询问了这个问题,得到了善良的人的好消息。这就是我现在所拥有的:
<?php
$home_featured = new WP_Query(array(
'tag' => 'featured',
'posts_per_page' => 3,
));
?>
<?php if ($home_featured->have_posts()): while ($home_featured->have_posts()) : $home_featured->the_post(); ?>
<p>Got some</p>
<?php endwhile; ?>
<?php else: ?>
<p>None found</p>
<?php endif; ?>
现在,我有3个帖子都有标签。由于Wordpress在这里使用while循环,它应该每次发布一次迭代最多3次,输出
得到一些
。这应该会在屏幕上显示如下内容:
得到了一些 拿到一些 得到了一些
但它只输出一次,如下:
得到了一些
有什么问题?
答案 0 :(得分:1)
首先,将<p>Got some</p>
替换为<?php the_title(); ?>
。至少你会看到哪些帖子正在显示。
您也可以在启动wordpress循环之前执行print_r( $home_featured );
。您将获得传递给WP_Query
的所有参数,为查询生成的SQL以及已返回的所有帖子。
回应$home_featured->found_posts
还可以显示与当前查询参数匹配的帖子总数,从而为您提供帮助。