多站点中的用户角色-奇怪的行为

时间:2018-06-01 作者:multisitestuff

我试图做到的是,首先,我要在我的网络中创建一个新用户。

wp_create_user(\'newuser\', \'password\', \'[email protected]\');
此时newuser\'s角色是订阅者(在网络中)-现在我应该将此用户移动到子网站,并更改其作为编辑器的角色。因此,它将是我网络中的订阅者,但是子网站中的编辑器。

$user = get_user_by(\'login\', \'newuser\');
add_user_to_blog( 2, $user->ID, \'editor\' );
从逻辑上讲,这应该是可行的,对吗?但由于某种原因,用户的角色数组是空的(在子网站中,在网络中,其仍然是订阅者),即使在子网站的仪表板中,它显示“编辑器”。之后我也尝试更改角色,但角色数组保持为空。

我错过了什么?

1 个回复
SO网友:Carolina Smith

Nikolay

我无法对自己的问题发表评论,所以我想给出一个宽松的答案是最好的也是唯一的回复方式。

我如何获得角色:

$user = get_user_by(\'login\', \'newuser\');
$user_meta = get_userdata($user->ID);
$user_roles = $user_meta->roles;
我不使用任何插件。新鲜WP多站点

if(empty($user_roles)) {
    $wp_user_object = new WP_User($user->ID);
    $wp_user_object->add_role(\'editor\');
}
但是角色数组仍然为空,我无法使用移动的用户登录子网站。

有趣的是,在子网站的仪表板中,您可以看到用户是一个“编辑器”

EDIT:无法对我自己的问题发表评论,因为此帐户在不同的stackexchange论坛中使用,我以来宾身份发布了此问题。杜克

结束

相关推荐

Website DR using Multisite

我是Wordpress多站点功能的新手。我一直在想,这个多站点是否可以用于为网站创建灾难恢复站点?如果我有www.abc。com从我的DC运行,该DC构建在CentOS上的PhP和Apache Web服务器上,以MySQL作为后端数据库,我需要为网站设置DR,如果我的生产停止,该多站点是否可以在任何情况下使用?我想这个问题可能太简单了,或者可能已经结束了,但如果你们有什么可以帮助的,那就太好了。或者你可以告诉我建立DR for网站的最佳方法是什么。