欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

本文目录
[隐藏]

  • 1属性和方法到底是什么?
  • 2WP_Query类的属性
    • 2.1查询字符串:$query
    • 2.2查询变量数组: $query_vars
    • 2.3查询对象:$queried_object
    • 2.4被查询对象的ID:$queried_object_id
    • 2.5从文章查询返回的结果:$posts
    • 2.6显示文章的数量:$post_count
    • 2.7查询返回的文章的数量$found_posts
    • 2.8分页数量:$max_num_pages
    • 2.9当前文章索引:$current_post
    • 2.10当前文章:$post
    • 2.11条件标签:$is_{conditional}
  • 3WP_Query类的方法
    • 3.1init()
    • 3.2parse_query( $query )
    • 3.3parse_query_vars()
    • 3.4get( $query_var )
    • 3.5set( $query_var, $value )
    • 3.6&get_posts()
    • 3.7next_post()
    • 3.8the_post()
    • 3.9have_posts()
    • 3.10rewind_posts()
    • 3.11&query( $query )
    • 3.12get_queried_object()
    • 3.13
  • 4

本文是《掌握 WP_Query》系列教程的第 5 部分,该系列共包含以下 19 个部分:

  1. 掌握 WP_Query : 入门介绍
  2. 掌握 WP_Query:教你使用Loop循环
  3. 掌握 WP_Query:相关的函数
  4. 掌握 WP_Query:行动器和过滤器
  5. 掌握 WP_Query:WP_Query类的属性和方法
  6. WP_Query 参数:文章、页面和文章类型
  7. WP_Query 参数:分类和标签
  8. WP_Query 参数:分类法(Taxonomies)
  9. WP_Query 参数:自定义字段(Custom Fields)
  10. WP_Query 参数:日期
  11. WP_Query 参数:状态、排序和分页
  12. WP_Query 参数:作者、搜索、密码、权限、缓存和返回字段
  13. 掌握 WP_Query:10个有用的例子
  14. 结合 WP_Query 与主查询(the Main Query)
  15. 掌握 WP_User_Query
  16. 掌握 WP_Comment_Query
  17. 掌握 WP_Meta_Query 和 WP_Date_Query
  18. WordPress 4.1的查询改进
  19. 掌握 WP_Query:结尾

欢迎大家来到“掌握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类的属性和方法,我就觉得已经做了很了不起的事情了。

对这篇文章,想吐槽吗?请在下面的评论部分,与我们分享您的想法。如果你喜欢这篇文章,不要忘了分享给你的朋友。

系列文章下个部分见。

阅读该系列的其他文章: 上一篇:掌握 WP_Query:行动器和过滤器 下一篇:WP_Query 参数:文章、页面和文章类型

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 掌握 WP_Query:WP_Query类的属性和方法
分享到: 更多 (0)