WordPress中的主循环Loop和全局变量

主循环 Loop 非常重要,文章(日志)列表、文章(日志)内容页、page页面等都离不开它,在前面的 WordPress 主题制作教程中我们也多次用到,因此在这里详细阐述下。

(1),在 WordPress 主题中,主循环是以下面这段代码开始的:

<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
// the code inside the loop //插入 Loop 中的代码
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>

have_posts() 和 the_post() 这两个函数都是属性函数,它们可以访问到类 WP_Query 中的方法。

have_posts 这个函数去查看当前显示的日志数是否达到了在 WordPress 后台设置的要显示的日志数,这个主循环将会继续直到达到为止。

如果你研究过 the_post 函数,你会发现它会搜索 $post 这个全局变量。 the_post 函数获取第一篇日志(随后的日志通过每次循环迭代获取),并设置日志的相关数据(如作者,评论数,文章分类等),这些数据是 WordPress 全局的赋给 $post 这个变量,所以可以访问它。

在 the_post() 函数被调用之后,你就可以使用许多模板函数和全局变量。

(2),下面就是现在可用的模板函数的一些例子:

the_author:获取作者的名字
the_title:显示当前日志的标题
the_content:显示日志的内容
the_permalink:显示日志的永久链接 URL
the_ID:显示日志的 ID

(3)下面是可用的全局变量:

(3-1),全局变量 authordata,你可以使用以下代码调用它:

global $authordata;
echo $authordata->display_name;

通过 authordata 这个全局变量还可以让你获取:last_name,first_name,ID,user_email,user_url,user_login,description等。

(3-2),全局变量 post,你可以使用以下代码调用它:

global $post;
echo $post->post_title;

通过post这个全局变量还可以让你获取:ID,post_author,post_date,post_excerpt,comment_count等。

全局变量 post ,你可以通过在一个函数中使用以下代码调用它:

global $post;
echo $post->post_content;

通过这种方法获取的日志内容是没有经过过虑的。如果你想按照你自己喜好去操纵日志的内容,比如自己设置日志内容的显示方式,通过这种方式获取的日志内容非常有用。

(3-4),全局变量 id ,你可以使用以下代码调用它:

global $id;
echo $id;
最后,到这里 WordPress 中的主循环 Loop 和全局变量的讲解就结束了,希望能根据具体情况灵活运用。

摘自:http://www.ddbing.com/the-main-loop-in-wordpress-loop-and-global-variables/

你可能感兴趣的:(wordpress,全局变量,loop,主循环)