主循环 Loop 很是重要,文章(日志)列表、文章(日志)内容页、page页面等都离不开它,在前面的 WordPress 主题制做教程中咱们也屡次用到,所以在这里详细阐述下。 php
(1),在 WordPress 主题中,主循环是如下面这段代码开始的: ide
<?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 中的方法。 wordpress
have_posts 这个函数去查看当前显示的日志数是否达到了在 WordPress 后台设置的要显示的日志数,这个主循环将会继续直到达到为止。 函数
若是你研究过 the_post 函数,你会发现它会搜索 $post 这个全局变量。 the_post 函数获取第一篇日志(随后的日志经过每次循环迭代获取),并设置日志的相关数据(如做者,评论数,文章分类等),这些数据是 WordPress 全局的赋给 $post 这个变量,因此能够访问它。 oop
在 the_post() 函数被调用以后,你就可使用许多模板函数和全局变量。 post
(2),下面就是如今可用的模板函数的一些例子: url
the_author:获取做者的名字 the_title:显示当前日志的标题 the_content:显示日志的内容 the_permalink:显示日志的永久连接 URL the_ID:显示日志的 ID
(3),下面是可用的全局变量: 日志
(3-1),全局变量 authordata,你可使用如下代码调用它: code
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/