在WordPress中,通常不需要将WP_Query
循环放在for
循环中。相反,可以直接使用while
循环来遍历WP_Query
的结果。
以下是一个示例代码,展示了如何使用WP_Query
来获取文章,并使用while
循环遍历结果:
$args = array(
'post_type' => 'post',
'posts_per_page' => 10
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// 在这里输出文章内容或执行其他操作
the_title();
the_content();
}
} else {
// 如果没有匹配的文章
echo '没有找到文章.';
}
// 重置查询
wp_reset_postdata();
在上面的代码中,我们首先定义了一个$args
数组,用于指定查询参数,例如post_type
(文章类型)和posts_per_page
(每页显示的文章数量)。然后,我们使用WP_Query
类创建一个新的查询对象。接下来,我们使用$query->have_posts()
检查是否有匹配的文章。如果有,我们使用$query->the_post()
来设置当前文章,并可以在循环中访问文章的标题和内容等信息。最后,我们使用wp_reset_postdata()
函数重置查询。
请注意,while
循环可以在没有结果的情况下运行,因此需要在循环之前使用$query->have_posts()
进行检查。在循环结束后,应该使用wp_reset_postdata()
函数重置查询,以恢复原始的WordPress查询。
总之,将WP_Query
循环放在for
循环中是不必要的,最好使用while
循环来遍历查询结果。