我正在使用REST API在多站点安装上创建/更新/删除用户,以便与第三方资源同步数据。当我检查是更新还是创建用户时,我使用search
用于搜索用户名的参数,该参数在单个站点上运行良好,但如果系统中存在另一个站点上的用户,那么除了尝试插入(这会触发用户名已在使用)错误之外,我如何判断?我找到了this 提议的更改,看起来正是我所需要的,但它还没有变成代码。我怎样才能做到这一点?我不介意编写一个自定义端点并在PHP中执行它,但我找不到任何允许全局搜索用户的函数。即使WP_User_Query
appears 一次仅限于一个博客。
如何在多站点安装上搜索全局用户?
1 个回复
最合适的回答,由SO网友:Pat J 整理而成
看起来您可以使用blog_id
属于0
:
$args = array( \'blog_id\' => 0 );
$users = get_users( $args );
var_dump( $users );
如果要搜索特定用户,过程类似:$args = array( \'blog_id\' => 0, \'search\' => \'{username to search for}\' );
$users = get_users( $args );
var_dump( $users );
我是在闲逛时发现的the wp-cli
source code (因为我知道wp user list --network
将返回多站点网络上所有用户的列表)。这得到了user comment on the WP_User_Query::prepare_query()
documentation.结束