奥多码,点击查看详情 APP分发吧,点击查看详情

掌握 WP_Query:WP_Query类的属性和方法

       
广告2021-06-03到期2021-07-03广告2021-06-03到期2021-07-03
       
广告2021-06-03到期2021-07-03广告2021-06-03到期2021-07-03

欢迎大家来到“掌握WP_Query” 系列新的章节。到目前为止你学的怎么样?我希望大家能够在学习这些教程的过程中去享受它,就像我写这系列的教程的时候一样的去享受写的过程。

在这篇教程中,我们将要学习WP_Query类的属性和方法。但是,首先我想先讲一下在类中的“属性”和”方法”是什么。

坐稳了,可以开始了吗?

属性和方法到底是什么?

在PHP中,有写一个更清洁的方式编码方式:面向对象编程,或OOP。随着OOP中,我们使用“类”作为模板——我从Code Tuts+ 取了Jason Lengstorf的“为初学者准备的面向对象的PHP教程”句子作为例子:

类,举个例子,就像一个房子的模板:即使不存在这个房子,这个模板定义了房子的形状,并定义了房子的不同部分之间的关系明确的计划——就像是建房子的蓝图。

(请记住,WP_Query是WordPress核心中一个重要的类。)

当你了解PHP类的概念,“属性”,“方法”变得非常容易理解。就像是“变量”和“功能”只是同义词。在PHP中,属性是一个PHP类的变量,方法是一个PHP类的功能,这样去理解

现在,我们已经介绍了“属性”,“方法”是什么,下面,让我们来认识每个属性和方法。

警告:直接更改属性是不明智的。正如官方文档所说,你应该学会使用WP_Query的方法联合使用它们。

WP_Query类的属性

让我们开始学习WP_Query类的属性吧,或者说是它的变量!

查询字符串:$query

这个属性储存了传递给$wp_query对象的查询相关变量。

查询变量数组: $query_vars

这个属性储存了相关联的变量和变量的值,集合成数组,传递给$query。

查询对象:$queried_object

这个属性储存了查的对象,就像$post对象是针对文章查询的,$author对象是针对作者查询的。

被查询对象的ID:$queried_object_id

很好理解,这个就是查询对象的ID。

从文章查询返回的结果:$posts

这个属性储存了从查询返回回来的文章

显示文章的数量:$post_count

这个属性储存了当前查询的文章的数量。

查询返回的文章的数量$found_posts

这个属性储存了没有LIMIT子句的SQL查询的文章数量。

分页数量:$max_num_pages

这个属性储存了文章的数量——它是由$posts_per_page除以$found_posts计算而来的。

当前文章索引:$current_post

这个属性储存了当前Loop循环中的文章索引。例如,当Loop循环刚刚开始的时候,$current_post被next_post()方法设置成-1。

当前文章:$post

这个属性不用多作解释,储存了当前文章。

条件标签:$is_{conditional}

下面的属性是布尔类型的,是为了标定当前文章的状态

  • $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: 检查是否是404页面。
  • $is_comments_popup: 检查是否是评论弹出窗口的页面。
  • $is_admin: 检查是否是管理员页面。
  • $is_attachment: 检查是否有附件。
  • $is_singular: 检查是否为单页的某类型文章(包括“附件”和“页”文章类型)。
  • $is_robots: 检查是否是robots.txt查询
  • $is_posts_page: 检查是否是发布文章页面(在管理员面板中设置“阅读设置”页面中)
  • $is_paged: 检查是否进行了标页,并且不是第一页的标页

WP_Query类的方法

当我们学习完属性之后,让我们学习WP_Query类的方法吧。

init()

初始化方法,主要是初始化对象的的属性值为Null,0或者false。

parse_query( $query )

这个方法使用$query属性传递给查询其相应的属性(除了$posts,$post_count,$post和$current_post)

parse_query_vars()

个方法重新传递变量给查询

get( $query_var )

个方法获取给定的查询变量。

set( $query_var, $value )

这个方法设置给定查询变量为一个特定值。

&get_posts()

这个方法返回的查询请求的文章,并填充$post和$ post_count属性。

next_post()

这个方法$ current_post索引递增,并推送文章到$posts变量,返回当前post对象(此方法必须使用在循环中)。

the_post()

这个方法设置了下一篇文章的全局变量$post(此方法必须使用在循环中)。

have_posts()

这个方法检查是否任何文章有需要做的后续工作,并如果没有返回FALSE。 (此方法必须使用在循环之前)

rewind_posts()

这个方法重置了$current_post和$post属性。

&query( $query )

这个方法调用了同级方法parse_query()和get_posts(),并且返回get_posts()方法的结果。

get_queried_object()

这个方法返回查询的对象(如果$queried_object没有被设置,则设置)

get_queried_object_id()

这个方法,就像上一个一样,返回的是查询对象的ID($queried_object_id)

小提示:如果有方法之前有符号&,这意味着该方法通过引用返回。

今日小结

我希望我设法让大家明白什么是类的“属性”和“方法”。如果你通过本文了解到WP_Query类的属性和方法,我就觉得已经做了很了不起的事情了。

本文由【好易之】整理自网络!
原创文章,作者:【好易之】如转载请注明出处:https://www.zhengjiaxi.com/zxwd/jswd/69803.html
如有侵权,请邮件联系 aoduoye@qq.com 删除。
本站发布的文章及附件仅限用于学习和研究目的;不得将上述内容用于商业或非法用途,否则后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
好易之的头像好易之站长
上一篇 2020-05-27 00:36
下一篇 2020-05-27 00:36

相关推荐

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

 

工作时间:周一至周五,9:30-18:30,节假日休息

关注公众号
请查看头部文章来源地址!本站所有内容均为互联网收集整理和网友上传。仅限于学习研究,切勿用于商业用途。否则由此引发的法律纠纷及连带责任本站概不承担。
阿里云