我如何限制第二个管理员特定的访问权限?

时间:2018-07-13 作者:Terrell Anderson

嗨,我想知道是否有一种方法可以限制某个管理员访问某些插件。

例如我想在我的网站上有第二个管理员,我希望他们能够访问除一个插件以外的所有插件。我有什么办法可以做到这一点吗?

1 个回复
SO网友:Rick Hellewell

我认为此代码将阻止某些用户进入管理区域的任何部分(未测试):

add_filter(\'admin_menu\', \'block_users\');

function block_users() {
    $current_user = wp_get_current_user();  // get current user object
    $allowed_user = \'[email protected]\';  // change to allowed user email
    if (! $current_user->user_login == $allowed_user) { 
        wp_redirect(admin_url());   // redirect to dashboard
        exit;   // to exit this if redirected
        }
    return;
}
不确定使用哪个钩子进入插件设置屏幕或管理菜单的其他区域(如果要阻止所有插件设置)。

您可以在插件代码的顶部放置类似的内容,以阻止访问特定插件。只需更改要阻止的帐户的电子邮件即可。可以使用$current\\u用户数组的其他元素来调整要查找的值(请参见https://codex.wordpress.org/wp_get_current_user ).

也许这会帮助你朝着正确的方向开始。

结束