我正在尝试使用wordpress JSON API获取草稿/预览/垃圾帖子,但添加过滤器似乎根本没有任何作用。
作为一个测试,我试图将帖子放入垃圾桶(有非),但所有发布的帖子都会被返回。
http://localhost/wp-json/posts?&filter[post_status]=trash
我在登录和退出管理面板时都尝试过,得到了相同的结果。
我假设这是基于wordpress文档的方法http://codex.wordpress.org/Class_Reference/WP_Query#Status_Parameters
我尝试过多个除垃圾以外的参数,所有这些都只返回已发布的帖子。
编辑:
我发现你不能登录到管理面板中进行基本的身份验证,否则它就会被覆盖。注销后一切都成功了。
您必须通过具有edit_posts权限的用户身份验证才能访问postrongtatus等专用查询变量。在这一点上,你将能够使用以下(放下&)。
http://localhost/wp-json/posts?filter[postrongtatus]=垃圾
编辑:
我相信有一种手动添加postrongtatus的方法,我还没有测试过,但它应该可以工作。
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' );