我是WordPress开发的新手(在PHP开发中,我来自Java和C#)。今天我安装了Aptana并配置了 XDebug 来检查 TwentyTwelve 主题中发生的情况。
特别是我试图了解WordPress如何通过循环加载帖子(对其进行重新分配)。
所以,从现在开始,我只知道如何在WP主题中创建循环,但我不知道它是如何工作的。
所以,在 TwentyTwelve 中我找到了post循环,这个代码片段:
根据我的理解,循环由while循环组成,其中 have_posts()结果是执行while主体的条件。
好的,现在可能以下问题与我在PHP中的无知有关,但究竟是什么意思构造:
<?php while ( have_posts() ) : the_post(); ?>
have_posts()是在while中执行的条件,但是externly意味着:the_post();
是 the_post()调用循环的第一个操作还是什么?
然后我将一个breackpoint放入 has_posts()函数中,该函数定义在 query.php 文件中。
function have_posts() {
global $wp_query;
return $wp_query->have_posts();
}
query.php 文件有多么简洁?是一类还是什么?看起来它的代码在我看来它不是一个类...为什么?
究竟代表 $ wp_query 变量的是什么?它是一个对象还是什么? (PHP没有输入,所以我怎么知道变量包含什么?)
此操作意味着什么:
$wp_query->have_posts();
我认为它会调用 have_posts()函数的另一个版本(定义为 query.php 文件),检查是否存在其他要显示的帖子或是否存在他们结束了。
但究竟如何运作?阅读PHP OO文档 - &gt;运算符调用对象的方法,但我不知道 $ wp_query 是否是一个对象,或者在此竞争中是否为 - &gt;操作员有另一种感觉......
你能帮助我理解它究竟是如何运作的吗?
TNX
答案 0 :(得分:0)
要了解循环如何在wordpress中工作,你必须了解php中的一些基础知识
函数<?php while ( have_posts() ) : the_post(); ?>
之前的有wordpress post数组格式的数组的全局查询[0] [1] [2] [3]
所以虽然发布帖子只是意味着,如果有帖子,那个元素设置为THE POST
它将所有调用设置为中继到该单个数组中的内容 http://codex.wordpress.org/Function_Reference/the_post
例如,当您致电the_content()
时,您正在显示该帖子的索引,并且在那里有一个'content' => 'contents goes here'
长话短说,学习wordpress预定义语法以及循环如何在其文档站点上运行。