我在WordPress开发方面是非常新的(还有PHP开发方面,我来自Java和C#)。今天,我安装了Aptana并配置了XDebug来检查TwentyTware主题中发生了什么。
特别是,我试图理解WordPress是如何通过循环加载帖子的。
所以,从现在起,我只知道如何在一个WP主题中创建一个循环,但我不知道它到底是如何工作的。
因此,在twentytware中,我找到了post循环,这段代码是:
根据我的理解,循环是由while循环组成的,其中have_posts()结果是执行while主体的条件。
好了,下面的问题很可能与我对PHP的无知有关,但是构造的具体含义是什么:
<?php while ( have_posts() ) : the_post(); ?>
have_posts()是要在while中执行的条件,但它非常意味着:the_post();
post()调用是循环的第一个操作还是什么?
然后,我将一个breackpoint放入定义到query.php文件中的have_posts()函数中。
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文档时,->运算符调用了一个对象的方法,但我不知道$wp_query是否是一个对象,或者在这个contes中,->运算符是否有另一种意义...
你能帮我弄清楚它到底是怎么工作的吗?
TNX
要了解wordpress中循环的工作原理,您必须了解php中的一些基础知识
在函数<?php while(have_posts()):the_post()之前;?>
存在wordpress post array格式的数组全局查询[0][1][2][3]
所以have post时post只是表示,如果有post的话,该元素被设置为post
它将所有调用设置为中继到单个数组中的内容http://codex.wordpress.org/function_reference/the_post
例如,当您调用the_content()
时,您将显示该文章的索引,并且在该索引中有一个“content”=>“contents goes here”
长话短说,学习wordpress预定义的语法和循环如何在他们的文档站点上工作。
网址:http://codex.wordpress.org/function_reference/
这段时间我在学习Spring框架。 现在我正在研究春豆的生命周期,尤其是关于豆子的日化和破坏,阅读本教程: http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm 我已经实现了前一篇文章中提出的示例,但我对这个论点有疑问。 在这个例子中,我只有两个类:HelloWorld。java和MainApp。JAVA 在地狱世界。jav
我正在使用Qt/openGL,激活深度缓冲区时遇到了一些问题。 在每一帧,我激活以下状态:glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); 另外,我检查了我的深度缓冲区的大小不是空的(glGetIntegerv(GL_DEPTH_BITS)给我24,这是预期的值),但是深度测试不起作用,一些应该通过深度测试丢弃的片段不起作用。 知道吗?
结果: 问题: 1.lis,ele=>ele.textContent中我把ele.textContent换成了lis.textContent结果出来的是一个undefine的集合,是为什么? 2.lis,ele=>ele.textContent我是否可以理解为Array.from(arr,function),然后返回元素的文本内容? 3.该怎么理解lis和ele之间的关系呢?(因为看到很多案例都是
1)第一个疑问与这样一个事实有关:在这个类中,对于每个CRUD方法,我都打开一个新的会话。 我之所以这样做是因为在本教程http://www.tutorialspoint.com/hibernate/hibernate_sessions.htm中我读到: Session对象是轻量级的,设计成每次需要与数据库交互时都要实例化。持久性对象通过会话对象保存和检索。会话对象不应该保持长时间打开,因为它们通
15.3 循环执行的例行性工作调度 相对于 at 是仅执行一次的工作,循环执行的例行性工作调度则是由 cron (crond) 这个系统服务来控制的。刚刚谈过 Linux 系统上面原本就有非常多的例行性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以进行例行性工作调度,所以啰, Linux 也提供使用者控制例行性工作调度的指令 (crontab)。 下面我们分别来聊一聊啰! 15.
问题内容: 这是一个非常简单的for循环: 我知道它主要如何工作,但是我不明白最后的工作方式:如果我是对的,它应该加1,但是当它打印出时,它先打印0,然后再打印1。 为什么为什么不从1开始就因为?为什么仍然只打印出原始值而不是原始值? 问题答案: 一个循环的工作方式如下: 初始化完成(在您的情况下;仅执行一次) 条件检查(此处),如果条件为假,则退出循环 大括号内的代码已执行(根据您的情况) 更新