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中缩略图的应用以及相干技巧

在博客上用到缩略图的机会很多, 它们呈现在文章列表页面, 文章下方的相干文章, 分类页面的类目图片, 甚至有...

wordpress 如何从后盾数据库修正theme(图文教程)

咱们在wordpress主题theme配置的时分,会从网站上下载比拟盛行的theme,使本人的blog看着很酷。也有不顺利的...

WordPress博客SEO愈加完满的6个技巧

wordpress是十分不错的博客顺序,也是很多博客喜好者所喜爱的建站顺序之一,wordpress不只仅模版丰厚,而且...

Wordpress迁徙后图片地址谬误成绩的处理办法

WordPress改换空间后 需求调整的几个中央? 1.数据库衔接配置文件 wp-config.php 2.查看.htaccess文件,并修...

WordPress中J.parentNode为空或不是对象的处理办法

通过一番考察,发现插件 flash-video-player 里的 swfobject.js 文件里也有这个J.parentNode调用,所以和WP...

wordpress评论有时呈现(匿名)的景象处理计划

一、评论提交超时: 大家可能会发现,在提交评论十分迟缓时最容易呈现&ldquo;匿名&rdquo;景象,这种状况次要...

需求提交

客服服务