对于Stack Exchange社区博客,我们已经设置了网络安装。有人告诉我,站点管理员角色不允许用户进行编辑。将鼠标悬停在网站的用户页面上时,只有一个选项delete,没有一个针对edit。
与用户权限相关的唯一选项如下,但实际上并不是我要这样做的...

如何使站点管理员能够完全控制该特定站点上的用户?
对于Stack Exchange社区博客,我们已经设置了网络安装。有人告诉我,站点管理员角色不允许用户进行编辑。将鼠标悬停在网站的用户页面上时,只有一个选项delete,没有一个针对edit。
与用户权限相关的唯一选项如下,但实际上并不是我要这样做的...

如何使站点管理员能够完全控制该特定站点上的用户?
Answers:
如“ 网络管理员用户”屏幕的说明中所述,在网络安装(多站点模式)中,用户为
在全球范围内添加到整个网络,然后分配给特定站点
普通管理员不允许修改这些全局配置文件,因为他们的权限仅扩展到给定的站点。该任务仅供超级管理员使用,他们对整个网络具有完全控制权。
在WordPress的早期版本中,当多站点安装依赖于单独的WordPress MU支持时,您可以EDIT_ANY_USER在wp-config.php文件中将其定义为true。但是,由于多站点支持是本机集成的,因此我认为已删除了该支持。
要从“网络管理员用户”屏幕管理网络用户,用户必须属于至少具有manage_network_users和edit_users权限的角色。您可以尝试创建一个包含这些权限和标准管理员权限的自定义角色,但是我不相信这样做的效果如何。就个人而言,我只是想避免绕过这些限制。
WordPress多站点3.0不允许站点管理员编辑用户。http://wordpress.org/support/topic/administrators-cant-edit-users
也许此插件可以提供帮助:http : //wordpress.org/extend/plugins/extended-super-admins/结合硬编码针对每个站点的全局变量$ super_admins。
在加载站点管理菜单时,应该可以将其设置为一个钩子-尚不确定如何实施。不久之后,我将不得不面对自己的问题,这似乎是一个很有前途的解决方案。
请参阅:http : //svn.automattic.com/wordpress/trunk/wp-admin/includes/ms.php,并注意是否已设置全局$ super_admins。
/ **
*授予超级管理员权限。
*
* @ 3.0.0起
* @param int $ user_id
* /
函数grant_super_admin($ user_id){
全球$ super_admins;
//如果定义了全局super_admins覆盖,则此处无事可做。
如果(isset($ super_admins))
返回false;
do_action('grant_super_admin',$ user_id);
//直接获取site_admins,而不使用get_super_admins()
$ super_admins = get_site_option('site_admins',array('admin'));
$ user =新的WP_User($ user_id);
如果(!in_array($ user-> user_login,$ super_admins)){
$ super_admins [] = $ user-> user_login;
update_site_option('site_admins',$ super_admins);
do_action('granted_super_admin',$ user_id);
返回true;
}
返回false;
}
/ **
*撤销超级管理员权限。
*
* @ 3.0.0起
* @param int $ user_id
* /
函数revoke_super_admin($ user_id){
全球$ super_admins;
//如果定义了全局super_admins覆盖,则此处无事可做。
如果(isset($ super_admins))
返回false;
do_action('revoke_super_admin',$ user_id);
//直接获取site_admins,而不使用get_super_admins()
$ super_admins = get_site_option('site_admins',array('admin'));
$ user =新的WP_User($ user_id);
如果($ user-> user_email!= get_site_option('admin_email')){
if(false!==($ key = array_search($ user-> user_login,$ super_admins))){
unset($ super_admins [$ key]);
update_site_option('site_admins',$ super_admins);
do_action('revoked_super_admin',$ user_id);
返回true;
}
}
返回false;
}