在 WordPress 中,使用 WP_Query
进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。
第四讲,关于查询特定状态的文章,只有 post_status
这一个参数,可以是字符串或者数组,默认值是 'publish',如果用户一登录的情况下,'private' 状态的文章也会被获取到。另外默认情况下公开属性的自定义状态的文章也会获取到,如果是在后台运行(后台或者AJAX调用)的话,受保护属性的状态的文章也会被获取,默认受保护属性是 'future', 'draft' 和 'pending'。
- 'publish' – 已发布的文章。
- 'pending' – 待审核的文章。
- 'draft' – 还在草稿箱的文章。
- 'auto-draft' – 自动草稿,新建还没有内容的文章。
- 'future' – 定时发布的文章.
- 'private' – 非登录用户看不到的文章
- 'inherit' – 文章修订,一般使用 get_children() 函数获取。
- 'trash' – 在垃圾桶里面的文章。
- 'any' – 获取除了 'exclude_from_search' 属性为 true (比如 trash 和 auto-draft)的其他所有状态状态的文章。
只显示草稿状态的文章:
$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 文章查询教程1:如何使用分类,标签或其他分类模式
- WordPress 文章查询教程2:文章作者相关查询
- WordPress 文章查询教程3:如何使用文章类型参数
- WordPress 文章查询教程4:如何使用文章状态参数
- WordPress 文章查询教程5:如何使用分页相关的参数