搜索
首页CMS教程WordPress释放 WP_Query 的力量:探索属性和方法

释放 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()

此方法只是初始化对象,将所有属性设置为 NULL0FALSE

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中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
使用WordPress而不是从头开始编码网站的优点是什么?使用WordPress而不是从头开始编码网站的优点是什么?Apr 25, 2025 am 12:16 AM

WordPressisadvantageousovercodingawebsitefromscratchdueto:1)easeofuseandfasterdevelopment,2)flexibilityandscalability,3)strongcommunitysupport,4)built-inSEOandmarketingtools,5)cost-effectiveness,and6)regularsecurityupdates.Thesefeaturesallowforquicke

是什么使WordPress成为内容管理系统?是什么使WordPress成为内容管理系统?Apr 24, 2025 pm 05:25 PM

WordPressIsAcmsDuetoItseAsofuse,自定义,USERMANAMECTION,SEO和COMMUNITYSUPPORT.1)ITSIMPLIFIESCONTENTMANGAMEWITHANINTUISIDERFEEFFECE.2)提供extentensiveCustomizationThroughThroughTheMesandPlugins.3)supportrobustuserrolesandplugins.4)supportrobustuserrolesandpermissions.4)增强

wordpress怎么加评论框wordpress怎么加评论框Apr 20, 2025 pm 12:15 PM

在 WordPress 网站上启用评论功能,可以为访客提供参与讨论和分享反馈的平台。为此,请按照以下步骤操作:启用评论:在仪表盘中,导航至“设置”>“讨论”,并选中“允许评论”复选框。创建评论表单:在编辑器中,单击“添加块”并搜索“评论”块,将其添加到内容中。自定义评论表单:通过设置标题、标签、占位符和按钮文本来定制评论块。保存更改:单击“更新”以保存评论框并将其添加到页面或文章中。

wordpress怎么复制子站wordpress怎么复制子站Apr 20, 2025 pm 12:12 PM

如何复制 WordPress 子站?步骤:在主站创建子站。在主站克隆子站。将克隆导入目标位置。更新域名(可选)。分开插件和主题。

wordpress怎么写页头wordpress怎么写页头Apr 20, 2025 pm 12:09 PM

在WordPress中创建自定义页头的步骤如下:编辑主题文件“header.php”。添加您的网站名称和描述。创建导航菜单。添加搜索栏。保存更改并查看您的自定义页头。

wordpress评论怎么显示wordpress评论怎么显示Apr 20, 2025 pm 12:06 PM

WordPress 网站中启用评论功能:1. 登录管理面板,转到 "设置"-"讨论",勾选 "允许评论";2. 选择显示评论的位置;3. 自定义评论表单;4. 管理评论,批准、拒绝或删除;5. 使用 <?php comments_template(); ?> 标签显示评论;6. 启用嵌套评论;7. 调整评论外形;8. 使用插件和验证码防止垃圾评论;9. 鼓励用户使用 Gravatar 头像;10. 创建评论指

wordpress怎么上传源码wordpress怎么上传源码Apr 20, 2025 pm 12:03 PM

可以通过 WordPress 安装 FTP 插件,配置 FTP 连接,然后使用文件管理器上传源码。步骤包括:安装 FTP 插件、配置连接、浏览上传位置、上传文件、检查上传成功。

wordpress代码怎么复制wordpress代码怎么复制Apr 20, 2025 pm 12:00 PM

如何复制 WordPress 代码?从管理界面复制:登录 WordPress 网站,导航到目标位置,选择代码并按 Ctrl C (Windows)/Command C (Mac) 复制代码。从文件复制:使用 SSH 或 FTP 连接到服务器,导航到主题或插件文件,选择代码并按 Ctrl C (Windows)/Command C (Mac) 复制代码。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中