WordPress主题制作(9)-have_posts()和the_post()用法解析

在WordPress的index.php文章循环输出中,通常会有下面一段代码:
复制代码










复制代码

这里有两个函数,have_posts()和the_post()。

have_posts()解析:
WordPress的have_posts() 默认是一个全局函数。

have_posts函数被调用时实际上是调用全局变量 wpquery>haveposts()array posts的一个循环计数器,以确认是否还有post,如果有返回true(1),如果没有返回false(0)。

the_post()解析:

the_post()函数则调用 wpquery>thepost() post(不是 posts)post post变量中,以备接下来使用。

简单的使用可以通过函数来直接执行,如the_content()直接显式post的内容,the_title()显式帖子的标题,the_time()显示帖子的时间等WORDPRESS的Template Tags。

高级应用或要定制应用则可以直接调用$post变量的成员。

query_posts()函数说明

query_posts()函数通过大量的参数可以设置什么样的文章,内容出现在wordpress主循环中。如下面所举得例子:

仅在博客主页上显示一篇文章(通过设置>阅读进行设置)
显示某一特定时间段内发表的所有文章
在主页显示近期发表文章
更改文章排列顺序
仅显示某一分类目录中的文章
排除一个或多个分类

重要提示:
query_posts函数仅用于修改主页循环(Loop)。如果你希望在主循环外另外生成循环,应该新建独立的WP_Query对象,用这些对象生成循环。在主循环外的循环上使用query_posts会导致主循环运行偏差,并可能在页面上显示出你不希望看到的内容。query_posts函数会改写并取代页面的主查询。为谨慎起见,请不要将query_posts用作其它用途。
query_posts()函数用法

在主循环开始前,对你的某个模板文件的query_posts()安排一个调用,wp_query对象会利用参数生成新的SQL查询。当你开始调用时,WordPress主循环会忽略通过URL接收到的其它参数(如页面编号或分类),而根据query_posts()函数的查询结果进行循环输出。首先给出一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

你可能感兴趣的:(WordPress)