欢迎来到“掌握WP_Query”系列的另一部分。到目前为止,我们做得怎么样?我希望你像我们喜欢写教程一样喜欢这些教程。
在本教程中,您将了解WP_Query类的属性和方法。但首先,我认为在课堂上讨论“属性”和“方法”是合适的。
可以吗?
属性和方法到底是什么?在PHP中,有一种更简单的方法来编写代码:面向对象编程,或OOP。对于OOP,我们使用“类”作为蓝图——我是从Jason Lengstorf的“面向对象的PHP初学者”的一篇经典帖子中获得这个术语的:
(记住WP_Query是WordPress核心的一个重要类。)
当你理解了PHP类的概念后,“属性”和“方法”将变得非常容易理解,因为这些词只是“变量”和“函数”的同义词。是的,属性是PHP类的变量,方法是PHP类的函数。
现在我们已经介绍了它们是什么,让我们了解一下每个属性和方法。
警告:直接更改属性是不明智的。正如Codex所说,您应该使用WP_Query的方法与它们进行交互。
WP_Query类的属性让我们从WP_Query类的属性或变量开始。
查询字符串:$ query该属性存储传递给$wp_query对象的查询。
查询变量数组:$query _ vars该属性存储$ query的变量(及其值)的关联数组。
查询对象:$ queried _ object该属性存储当前查询的对象,例如$post对象(如果是发布查询)或$author对象(如果是作者查询)。
查询对象的ID:$ query _ object _ ID该属性存储查询对象的ID。
查询返回的帖子:$posts该属性存储查询返回的帖子。
显示的帖子数量:$post_count该属性存储当前查询的帖子数量。
查询返回的帖子数:$found_posts该属性存储SQL查询中不包含LIMIT子句的帖子数。
Pages: $max_num_pages该属性存储页数-通过将$found_posts除以$posts_per_page来计算。
当前帖子的索引:$current_post该属性存储循环中当前项目的索引号。例如,如果循环刚刚开始,则它为-1,并由next_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)该方法将给定的查询变量设置为特定值。
& ampGet_posts()该方法返回查询请求的帖子并填充$posts和$post_count属性。
Next_post()该方法增加$current_post索引并前进到$posts中的下一篇文章,返回当前文章对象。(此方法必须在循环中使用才能正常工作。)
这个方法使用下一篇文章中的数据来设置全局$post变量。(此方法必须在循环中使用才能正常工作。)
Have_posts()该方法检查是否有任何要处理的帖子,如果没有,则返回FALSE。(此方法必须在循环正常工作之前使用。)
Rewind _ posts()这个方法只是重置$current_post和$post属性。
& ampquery($ query)该方法调用它的两个兄弟方法:parse_query()和get_posts(),并返回get_posts()的结果。
Get _ queried _ object()该方法返回查询的对象。(如果尚未设置,请设置$ queried _ object。)
Get _ queried _ object _ id()该方法与上述方法类似,返回查询对象的ID($ query _ object _ ID)。
快速提示:如果方法前面有一个&符号,这意味着该方法是通过引用返回的。
我希望我能让你明白“属性”和“方法”对于类的意义。如果你理解WP_Query类的属性和方法的用途,我可以说我做得很好!
你对这篇文章有什么要补充的吗?请在下面的评论中与我们分享你的想法。如果你喜欢这篇文章,请别忘了分享给你的朋友。
本系列的下一部分再见!