0

我正在尝试使用 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 次,输出一个

得到一些

. 这应该会在屏幕上显示如下内容:

得到一些得到一些得到一些

但它只输出一次,如下所示:

得到一些

怎么了?

4

1 回答 1

1

首先,替换<p>Got some</p><?php the_title(); ?>. 至少您会看到正在显示的帖子。

你也可以print_r( $home_featured );在开始 wordpress 循环之前做一个。您将获得传递给 的所有参数WP_Query、为查询生成的 SQL 以及已返回的所有帖子。

回显$home_featured->found_posts还将通过显示与当前查询参数匹配的帖子总数来帮助您。

于 2013-03-28T13:01:53.433 回答