Wordpress的循环

时间:2010-11-07 09:29:51

标签: php wordpress

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

虽然它使用while(have_posts()),但我觉得它没用。假设它没有while条件,第一个if(have_posts())检查块是否有帖子。如果没有帖子,程序会退出循环。如果有帖子,则执行the_post()。任何提示将不胜感激。

2 个答案:

答案 0 :(得分:1)

循环结构将重复并重复。像

这样的结构
while(have_posts())

将重复,直到没有更多帖子。所以它的返回值并不总是一样的。它有助于一次又一次地重复循环的内容,直到没有更多帖子,当have_posts()为while循环返回false值时停止。

答案 1 :(得分:1)

首先,它使用以下方法检查是否有要在该特定页面上显示的帖子:

if(have_posts())

如果有,它将使用以下内容遍历每个帖子:

while(have_posts())

在此之后,它使用以下方式提取帖子的数据:

the_post();

至于它自己的语法,它使用所谓的ternary operation(这里是CMIIW)。

有关更详细的说明,您可以阅读关于wordpress codex的the loop。 以下是该页面的一些解释:

  

一旦WordPress完成加载博客标题并下降到模板中,我们就会到达我们的帖子循环。 have_posts()只调用$ wp_query-&gt; have_posts(),它检查循环计数器以查看post数组中是否还有任何帖子。并且the_post()调用$ wp_query-&gt; the_post()来推进循环计数器并设置全局$ post变量以及所有全局发布数据。一旦我们耗尽了循环,have_posts()将返回false并且我们已经完成了。