是否完全删除创建用户的功能?

时间:2013-04-02 作者:DigitalDesignDj

我已将以下代码添加到插件中:

add_action( \'admin_init\', \'remove_add_users_cap\' );
function remove_add_users_cap() {
    $role = get_role( \'administrator\' );
    $role->remove_cap( \'add_users\' );
    $role->remove_cap( \'create_users\' );
}
我可以看到,我的用户不再使用大写字母:

if(!function_exists(\'wp_get_current_user\')) {
    include(ABSPATH . "wp-includes/pluggable.php"); 
}
$current_user = wp_get_current_user();
echo \'<pre>\';
print_r($current_user);
echo \'</pre>\';
但我仍然可以添加新用户O.O。。。

是否需要采取其他措施来实现这一目标?我想完全删除任何人在激活此插件时添加新用户的功能。。。

这是在Wordpress多站点环境中进行的,我觉得这可能会使事情变得复杂。

谢谢

1 个回复
SO网友:DigitalDesignDj

好的,上面的代码确实有效,但对于超级管理员来说不行,您必须明确地从超级管理员中删除权限,如下所示:

// restrict super admin capabilites
add_filter(\'map_meta_cap\', \'restrict_super_admins\', 10, 4);
function restrict_super_admins($caps, $cap, $user_id, $args){
    $super = array(
        \'add_users\',
        \'create_users\',
    );
    if( in_array($cap, $super) ) {
        $caps[] = \'do_not_allow\';
    }
    return $caps;
}

结束

相关推荐

WordPress Multisite Dilemma!

过去三年来,我们一直以WordPress安装的形式运行我们的主域,并将子域添加为单独的WordPress安装。随着时间的推移,我们认为将我们的主域作为多站点,并将其他子域作为其子站点进行管理是一个更好的主意。但问题是——它值得吗?链接会发生什么情况?那么三年内建立起来的SEO呢?有什么需要担心的吗?如果你们中的任何人都能回答这个问题,那么要将已经运行的站点移动到多站点界面,需要做些什么?提前非常感谢。