WordPress 文章查询教程4:如何使用文章状态参数

在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。

「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。

我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。

第四讲关于查询特定状态的文章,文章状态只有 post_status 这一个参数,可以是字符串或者数组。

默认值是 'publish',就是获取公开状态的文章,如果用户在已登录的情况下,'private' 状态的文章也会被获取到,另外默认情况下公开属性的自定义文章状态的文章也会获取到。

如果是在后台运行(后台或者AJAX调用)的话,受保护属性的状态的文章也会被获取,默认受保护属性的文章状态有 'future', 'draft' 和 'pending'。

  • 'publish' – 已发布。
  • 'pending' – 待审核。
  • 'draft' – 草稿。
  • 'auto-draft' – 自动草稿,在后台点击新建还没有保存是创建的。
  • 'future' – 定时发布。
  • 'private' – 私密,就是非登录用户看不到的文章
  • 'inherit' – 文章修订版本专用的状态,一篇文章的修订版本可以使用 get_children() 函数获取。
  • 'trash' – 垃圾。
  • 'any' – 获取除了 'inherit', 'trash' 和 'auto-draft' 状态的文章,如果有自定义文章状态,并且它的 'exclude_from_search' 属性为 true,这类状态的文章也会被获取。

只显示草稿状态的文章:

$query = new WP_Query( array( 'post_status' => 'draft' ) );

显示多个状态的文章:

$query = new WP_Query( array( 'post_status' => array( 'pending', 'draft', 'future' ) ) );

显示所有附件:

$query = new WP_Query( array( 'post_status' => 'any', 'post_type' => 'attachment' ) );

©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。