我正在尝试使用wordpress JSON API获取草稿/预览/垃圾帖子,但添加过滤器似乎根本没有做任何事情。
作为测试,我正在尝试在垃圾箱中发帖(有非),但会返回所有发布的帖子。
http://localhost/wp-json/posts?&filter[post_status]=trash
我在登录和退出管理面板时尝试了这一点,给出了相同的结果。
我假设这是基于wordpress docs http://codex.wordpress.org/Class_Reference/WP_Query#Status_Parameters
的方法我尝试过除垃圾之外的多个参数,所有参数都只返回已发布的帖子。
编辑:
我发现您无法登录管理面板以使基本身份验证工作,否则会被覆盖。退出这一切并且一切正常。
答案 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' );