WordPress主循环(The Loop)函数have_posts(),the_post()详解

WordPress中调用文章标题是the_title();调用文章内容时用到the_content();调用文章的作者时用到the_author();等等这些函数,都需要在主循环中使用,下面就介绍一下如何用have_posts()和the_post()开始Wordpress文章中循环,并说明如何结束循环。

语法

1 <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>
2 当找到文章时返回此语句
3 <?php endwhileelse : ?>
4 当没有找到文章时,返回此语句
5 <?php endif; ?>

循环开始标志

1 <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>

循环开始后,可以在循环中用the_title();输出文章的标题,the_content();输出文章的内容,the_author();输出文章的作者等。

循环结束标志

1 <?php endwhileelse : ?>
2 当没有找到文章时,返回此语句
3 <?php endif; ?>

循环开始,必须有循环结束。

一般主循环在寻找文章的时候用到,比如在WordPress模版中index.php,single.php,active.php等需要调用文章的文件中。

=======================================================================================================

WordPress的have_posts()和the_post()用法解析

原文地址:http://www.phpvar.com/archives/2316.html

网上找到一篇介绍WordPress的have_posts()和the_post()用法解析的文章,觉得不错!

在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函数被调用时实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有post,如果有返回true(1),如果没有返回false(0)。

the_post()解析:

the_post()函数则调用$wp_query->the_post()成员函数前移循环计数器,并且创建一个全局变量$post(不是$posts),把当前的post的所有信息都填进这个$post变量中,以备接下来使用。

 

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

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