WordPress中查问文章的循环Loop构造及用法剖析

WordPress 上获取文章最重要的就是循环(Loop),现实上循环就是去数据库查问到相应的文章,而后临时贮存到全局变量里边,需求的时分一篇一篇的输入进去,WordPress 的循环设计的十分好,实现一次循环需求执行 2000 多行代码,而你在应用循环的时分看到的只是一个简略 while 循环加上几个函数,初学者也很好了解。

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

上边就是一个一般的主循环构造,首先用 have_posts() 函数判别能否有文章,有则用 while 语句循环,在循环体里边调用 the_posts() 函数,the_posts() 函数用来通知 WordPress 外围的查问类,曾经查过一篇文章了,每调用一次 the_posts(),循环中的以后文章就会扭转。

当调用几次 the_posts() 之后,文章曾经全副循环终了,就让 have_posts() 函数前往 False 来完结循环,所以,一个一般的循环应该是这样的:

<?php if( have_posts() ): ?>
  <ul>
    <?php while( have_posts() ):the_post();?>
      <li <?php post_class(); ?>>
        <?php the_title( '<h3>', '</h3>' ); ?>
      </li>
    <?php endwhile; ?>
  </ul>
<?php endif; ?>

WP_Query类

循环中所用到的办法都是来自于WP_Query类,这里再对WP_Query类做一下科普:
WP_Query 类的性能包括解决查问条件、去数据库获取文章、整顿和贮存文章、文章循环、依据文章查问条件判别页面类型。
属性

$query

传入的查问条件。

$query_vars

解决 $query 失去的能够应用的查问条件。

$queried_object

依据查问类型给出的查问归属。比方假如是依据分类查问,那么前往一个蕴含分类信息的类;假如是标签页则前往蕴含标签信息的类;作者页等以此类推。

$queried_object_id

前往 $queried_object 的 ID.比方分类就是分类 ID;标签就是标签 ID;以此类推。

$posts

从数据库中查问到的文章和文章信息被以数组的方式贮存在这个变量里,每篇文章是一个从 WP_Post 类实例化的对象。

$post_count

以后文章数量,换句话说就是 $posts 变量里存储了几篇文章。

$found_posts

统计假如不启用分页会有多少文章。

$max_num_pages

总页数,以后文章被分红几页。

$current_post

以后文章的索引值。在循环中,开端循环 $current_post 为 –1,每循环一次则加 1,它示意以后循环到的文章在 $posts 变量(数组)中的索引值。

$post

循环中以后的文章,是一个蕴含文章和文章信息经过 WP_Post 类实例化的对象。

$is_single, $is_page, $is_archive, $is_preview, $is_date, $is_year, $is_month, $is_time, $is_author, $is_category, $is_tag, $is_tax, $is_search, $is_feed, $is_comment_feed, $is_trackback, $is_home, $is_404, $is_comments_popup, $is_admin, $is_attachment, $is_singular, $is_robots, $is_posts_page, $is_paged

依据查问条件判别以后是什么页面,而后贮存在些变量里,概况能够参考 《 WordPress 页面判别函数 》。

办法

init()

初始化对象,一切属性设置为 null、-1、0 或 False,删除一些属性。

parse_query( $query )

解析并保留查问字符串。

parse_query_vars()

在之前的 WordPress 版本中和 parse_query() 一样的性能,如今间接调用 parse_query() 就好了。

get( $query_var )

依据名字获取一个查问条件。

set( $query_var, $value )

设置一个查问条件。

get_posts()

依据现有的查问条件去数据库获取文章,并保留在 $posts 属性里,同时设置好 $post_count 属性。此函数的前往值就是存储文章的 $posts 属性。

next_post()

(循环管制)将 $current_post 加 1,也就是把以后文章向前推动一篇,同时把推动后的以后文章增加到 $post 属性里,而后前往 $post 属性。

the_post()

(循环管制)进入下一篇文章,调用 next_post() 函数,而后把推动后的以后文章导入到全局变量里边。

have_posts()

(循环管制)判别循环能否实现,假如一切文章都循环终了或许基本就没有文章则前往 False.

rewind_posts()

(循环管制)跳到循环扫尾。相当于重置 $current_post 属性和 $post 属性。

query( $query )

查问文章,包括调用 init() 办法、parse_query() 办法和 get_posts() 办法,并前往 get_posts() 办法的前往值,用此函数能够实现一个文章查问的完好操作。

get_queried_object()

生成 $queried_object 属性,假如曾经存在则间接前往 $queried_object 属性,所以说,由于默许 $queried_object 是不存在的,想要调用 $queried_object 属性肯定要间接应用 get_queried_object() 办法。

get_queried_object_id()

生成 $queried_object_id 属性,假如曾经存在则间接前往 $queried_object_id 属性。相似 get_queried_object() 办法。

WP_Query( $query = '' ) , __constructor( $query = '' )

WP_Query 类的结构函数,实例化类的时分本人调用,假如你传入一个查问条件,它会主动调用 query() 办法帮你查问文章。

以上就是安达网络工作室关于《WordPress中查询文章的循环Loop结构及用法分析》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: WordPress 文章 查询 PHP编程
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress初级自定义规划的内容编辑器(TinyMCE)模板

WordPress的编辑器TinyMCE是一个十分弱小的工具,关于网页设计师来说,应用WordPress的编辑器TinyMCE是没什...

几个优化WordPress中JavaScript加载体验的插件引见

WordPress 自身以及主题和插件通常需求加载一些 JavaScript 来完成某些非凡性能。为了最大限制地保障兼容性...

wordpress模板页面判别函数(本人整顿)

本人平常用到的一些函数,整顿一下,大家有用到来拿吧,我怕放电脑上不见了,当前又得找。 Index page 首页...

WordPress主题Green-Park-2导航栏修正技巧

我网上找了很多处理导航计划的成绩,均无奈用于WordPress3.1之上,总会呈现其余成绩。而我所解说的这种办法...

应用CDN和AJAX减速WordPress中jQuery的加载

确定要放在Head局部 &#63; 现实上最好的状况是,js文件都不要在<head>局部进行加载,否则会影响到head局部的...

WordPress中用于获取文章作者与分类信息的办法整顿

作者 查问和某些作者(用户)无关的文章,能够应用 4 个参数: author(整数):用户 ID author_name(...

需求提交

客服服务

亿鸽在线客服系统