在 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' ) );
这一系列文章的更加偏向代码层级,阅读性不强,但是如果你也是经常进行 WordPress 二次开发的话,这篇文章非常方便快速查询,所以建议收藏本文。😁
推荐阅读:
点击卡片关注「WordPress果酱」
每天分享 WordPress 使用技巧
⏬⏬ 下载 WPJAM Basic 请点击阅读原文