WP API - 如何获取草稿帖子

时间:2015-11-16 10:32:30

标签: php json wordpress

我正在尝试使用wordpress JSON API获取草稿/预览/垃圾帖子,但添加过滤器似乎根本没有做任何事情。

作为测试,我正在尝试在垃圾箱中发帖(有非),但会返回所有发布的帖子。

http://localhost/wp-json/posts?&filter[post_status]=trash

我在登录和退出管理面板时尝试了这一点,给出了相同的结果。

我假设这是基于wordpress docs http://codex.wordpress.org/Class_Reference/WP_Query#Status_Parameters

的方法

我尝试过除垃圾之外的多个参数,所有参数都只返回已发布的帖子。

编辑:

我发现您无法登录管理面板以使基本身份验证工作,否则会被覆盖。退出这一切并且一切正常。

1 个答案:

答案 0 :(得分:0)

您必须以具有edit_posts权限的用户身份进行身份验证,才能访问私有查询变量,例如post_status。此时您将能够使用以下内容(删除&)。

http://localhost/wp-json/posts?filter[post_status]=trash

编辑:

我相信有一种方法可以手动添加post_status,我还没有对此进行过测试,但它应该有效。

function my_allowed_post_status( $valid_vars ) {

    $valid_vars = array_merge( $valid_vars, array( 'post_status' ) );
    return $valid_vars;
}
add_filter( 'rest_query_vars', 'my_allowed_post_status' );