释放 WP_Query 的力量:探索属性和方法
欢迎来到“掌握 WP_Query”系列的另一部分。到目前为止我们做得怎么样?我希望您喜欢这些教程,就像我们喜欢编写它们一样。
在本教程中,您将了解 WP_Query
类的属性和方法。但首先,我认为讨论一下类中的“属性”和“方法”是合适的。
我们可以吗?
属性和方法到底是什么?
在 PHP 中,有一种更简洁的方式编写代码:面向对象编程,或 OOP。对于 OOP,我们使用“类”作为蓝图 — 我从 Code Tuts+ 的一篇经典帖子中获取了这个术语,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
对象(如果是 post 查询)或 $author
对象(如果是作者查询)。
查询对象的ID:$queried_object_id
该属性存储查询对象的ID。
查询返回的帖子:$posts
此属性存储从查询返回的帖子。
显示的帖子数量:$post_count
此属性存储当前查询的帖子数。
查询返回的帖子数:$found_posts
此属性存储 SQL 查询中不包含 LIMIT
子句的帖子数量。
页数:$max_num_pages
此属性存储页数 - 计算方法是将 $found_posts
除以 $posts_per_page
除以 $posts_per_page
。
当前帖子的索引:$current_post
该属性存储循环中当前项的索引号。例如,如果循环刚刚开始,则为 -1
,并且通过 next_post()
方法递增。
当前帖子:$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
:检查是否是 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 )
此方法获取给定的查询变量。
设置( $query_var, $value )
此方法将给定的查询变量设置为特定值。
&get_posts()
此方法返回查询请求的帖子并填充 $posts
和 $post_count
属性。
next_post()
此方法增加 $current_post
索引并前进到 $posts
中的下一篇文章,返回当前的文章对象。 (此方法必须在循环内使用才能正常工作。)
the_post()
此方法使用下一篇文章的数据设置全局 $post
变量。 (此方法必须在循环内使用才能正常工作。)
have_posts()
此方法检查是否还有任何帖子需要处理,如果没有,则返回 FALSE
。 (此方法必须在循环之前使用才能正常工作。)
rewind_posts()
此方法只是重置 $current_post
和 $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 的力量:探索属性和方法的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

WordPress对初学者来说容易上手。1.登录后台后,用户界面直观,简洁的仪表板提供所有必要功能链接。2.基本操作包括创建和编辑内容,所见即所得的编辑器简化了内容创建。3.初学者可以通过插件和主题扩展网站功能,学习曲线存在但可以通过实践掌握。

博客是人们在网上表达观点、意见和见解的理想平台。许多新手渴望建立自己的网站,却因担心技术障碍或成本问题而犹豫不决。然而,随着平台不断发展以满足初学者的能力和需求,现在开始变得比以往任何时候都更容易。 本文将逐步指导您如何建立一个WordPress博客,从主题选择到使用插件提升安全性和性能,助您轻松创建自己的网站。 选择博客主题和方向 在购买域名或注册主机之前,最好先确定您计划涵盖的主题。个人网站可以围绕旅行、烹饪、产品评论、音乐或任何激发您兴趣的爱好展开。专注于您真正感兴趣的领域可以鼓励持续写作

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用户友好性,允许Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

能在三天内学会WordPress。1.掌握基础知识,如主题、插件等。2.理解核心功能,包括安装和工作原理。3.通过示例学习基本和高级用法。4.了解调试技巧和性能优化建议。

最近,我们向您展示了如何通过允许用户将自己喜欢的帖子保存在个性化库中来为用户创建个性化体验。您可以通过在某些地方(即欢迎屏幕)使用他们的名字,将个性化结果提升到另一个水平。幸运的是,WordPress使获取登录用户的信息变得非常容易。在本文中,我们将向您展示如何检索与当前登录用户相关的信息。我们将利用get_currentuserinfo(); 功能。这可以在主题中的任何地方使用(页眉、页脚、侧边栏、页面模板等)。为了使其工作,用户必须登录。因此我们需要使用

Wix适合没有编程经验的用户,WordPress适合希望有更多控制和扩展能力的用户。1)Wix提供拖放式编辑器和丰富模板,易于快速搭建网站。2)WordPress作为开源CMS,拥有庞大社区和插件生态,支持深度自定义和扩展。

您想了解如何在父分类存档页面上显示子分类吗?在自定义分类存档页面时,您可能需要执行此操作,以使其对访问者更有用。在本文中,我们将向您展示如何在父分类存档页面上轻松显示子分类。为什么在父分类存档页面上显示子分类?通过在父分类存档页面上显示所有子分类,您可以使其不那么通用,对访问者更有用。例如,如果您运行一个关于书籍的WordPress博客,并且有一个名为“主题”的分类法,那么您可以添加“小说”、“非小说”等子分类法,以便您的读者可以

我们的一位用户询问其他网站如何在页脚中显示查询数量和页面加载时间。您经常会在网站的页脚中看到这一点,它可能会显示类似以下内容:“1.248秒内64个查询”。在本文中,我们将向您展示如何在WordPress中显示查询数量和页面加载时间。只需将以下代码粘贴到主题文件中您喜欢的任何位置(例如footer.php)。queriesin
