如何在多站点安装上搜索全局用户?

时间:2017-08-28 作者:ken.dunnington

我正在使用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.

结束

相关推荐

在更新站点信息时更新MultiSite中的Network/Site-info.php上的自定义字段的操作挂钩

我当前正在使用代码将自定义字段添加到site-info.php &;site-new.php 在网络管理中,要向数据库添加自定义选项,当我创建新的子网站时,这会起作用,它会在数据库中设置并检索输入值中的值。但是当我尝试更新此自定义选项的值时site-info, 这甚至没有到达函数,很可能是因为我使用了(错误的)钩子wpmu_new_blog, 因为我正在更新,我尝试使用wpmu_blog_updated, wpmu_edit_blog, wpmu_update_blog, 但我就是不能让它工作。任何