我是WordPress开发方面的新手(同样在PHP开发方面,我来自Java和C)。今天,我安装了Aptana并配置XDebug来检查TwentyTwelve 主题
特别是,我试图理解WordPress如何在循环中加载帖子(消除bug)。
所以,到目前为止,我只知道如何在WP主题中创建循环,但我不知道它到底是如何工作的。
因此,在第2122页中,我找到了post循环,这段代码片段:
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( \'content\', get_post_format() ); ?>
<?php endwhile; ?>
据我所知,循环由
while()
循环,其中
have_posts()
结果是执行while主体的条件。
好的,下面的问题很可能与我对PHP的无知有关,但是这个构造到底意味着什么呢
<?php while ( have_posts() ) : the_post(); ?>
have_posts()
是在while中执行的条件,但
: the_post();
是the_post()
调用循环的第一个操作还是什么?
然后我在have_posts()
在查询中定义的函数。php文件。
function have_posts() {
global $wp_query;
return $wp_query->have_posts();
}
确切的查询是什么。php文件?这是一门课还是什么?看着它的代码,我觉得它不是一个类。为什么?
到底代表了什么$wp_query
变量它是物体还是什么?(PHP不是类型化的,所以我怎么知道变量包含什么?)
此操作的含义:
$wp_query->have_posts();
我认为这是另一个版本的
have_posts()
函数(定义在query.php文件中),用于检查是否存在要显示的其他帖子或它们是否已结束。
但具体如何工作?阅读PHP OO文档->
运算符调用对象的方法,但我不知道$wp_query
是一个对象,或者如果在此内容中->
操作员有另一种感觉。。。
你能帮我弄清楚它到底是怎么工作的吗?