通过REST/JSON API从WordPress数据库中检索所有用户

时间:2016-02-25 作者:TimeParadox

我已经读到,WP restapi v2只检索到为该博客发表文章的用户。我正在开发一个iOS和Android应用程序,需要使用Wordpress注册。

如何检索已注册到Wordpress博客的所有用户的列表?甚至那些从未写过帖子的人?

1 个回复
最合适的回答,由SO网友:TimeParadox 整理而成

感谢stackoverflow用户Milap!

您可以获得所有用户,即使他们没有创建任何帖子,因此您需要修改rest api插件。

打开wp-content/plugins/rest-api/lib/endpoints/class-wp-rest-users-controller.php 文件,您将在第106行找到以下代码,

if ( ! current_user_can( \'list_users\' ) ) {
    $prepared_args[\'has_published_posts\'] = true;
}
将其更改为以下内容,

if ( ! current_user_can( \'list_users\' ) ) {
    $prepared_args[\'has_published_posts\'] = false;
}
如果您不想修改插件,请将以下代码放入当前主题的函数中。php文件。

add_filter( \'rest_user_query\' , \'custom_rest_user_query\' );
function custom_rest_user_query( $prepared_args, $request = null ) {
  unset($prepared_args[\'has_published_posts\']);
  return $prepared_args;
}
你完成了。

仅供参考:我选择编辑API文件,它成功了。

相关推荐

GET_USERS丢失或跳过循环中的用户

我想分页通过所有用户在一个可湿性粉剂网站在100组。以下代码是简化版本:for($offset = 0; $offset < 100; $offset++) $args = ["number" => 100, \'orderby\' => \'ID\']; $args[\'offset\'] = ($offset - 1) * (int) $args[\'number\']; $users