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

来源:互联网 发布:淘宝店铺装修报价单 编辑:程序博客网 时间:2024/06/10 00:12

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

<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?><!–PHP代码 –><?php endwhile; ?><?php endif; ?>

复制代码

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

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

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

the_post()解析:

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

简单的使用可以通过函数来直接执行,如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

0 0
原创粉丝点击