WP_Query很头疼

时间:2013-03-28 12:52:43

标签: php wordpress loops

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

得到一些

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

得到了一些 拿到一些 得到了一些

但它只输出一次,如下:

得到了一些

有什么问题?

1 个答案:

答案 0 :(得分:1)

首先,将<p>Got some</p>替换为<?php the_title(); ?>。至少你会看到哪些帖子正在显示。

您也可以在启动wordpress循环之前执行print_r( $home_featured );。您将获得传递给WP_Query的所有参数,为查询生成的SQL以及已返回的所有帖子。

回应$home_featured->found_posts还可以显示与当前查询参数匹配的帖子总数,从而为您提供帮助。