以非管理员用户身份登录将删除仪表板子菜单。我希望重新启用它

时间:2019-04-25 作者:De Coder

理想情况下,由于“Dashboard”子菜单对于作者来说已经不存在了,我只想用一个链接来替换它,该链接可以打开wp admin主页。

只需重新启用Dashboard>home即可。

[编辑]这是我现在拥有的。我知道这不是最好的方法,但我无法获得“add\\u menu\\u page”正确操作。我手动编辑了$菜单变量。

如果我找不到更好的方法,这将是一个解决方案。

add_action( \'admin_menu\', function (){
    if ( !current_user_can( \'administrator\' ) ) {
        global $menu;
        $menu[0]=[
            0 => \'Dashboard\',
            1 => \'read\',
            2 => \'index.php\',
            3 => \'\',
            4 => \'menu-top menu-top-first menu-icon-dashboard\',
            5 => \'menu-dashboard\',
            6 => \'dashicons-dashboard\',
        ];
    }
});

1 个回复
SO网友:WebElaine

你需要调整的不是菜单,而是你的角色和能力。

默认情况下,WP Core作者的菜单中有“Dashboard”。没错,它们在Dashboard下没有子菜单,但单击Dashboard会将它们带到与其他用户的“Dashboard”>“Home”相同的页面。

您可能希望查看您正在使用的任何可能具有调整权限的插件,和/或使用用户角色插件检查用户具有哪些权限。如果他们根本看不到“仪表板”,则需要添加“读取”功能:

// hook to admin init
add_action(\'admin_init\', \'add_author_caps\');
function add_author_caps() {
    // get the author role
    $role = get_role(\'author\');
    // add "read" capability
    $role->add_cap(\'read\');
}
您可以在任何您喜欢的地方临时添加此代码-主题或插件-并且在您登录并在wp admin中查看任何内容后,您可以删除此代码,因为wp将保存此功能。

相关推荐

Change home-url in dashboard

我想知道我是否可以更改;主页“-仪表板管理栏中的按钮。现在它只是重定向到/, 但我需要它重定向到/velkommen.每当登录用户登录时/, 它们已重定向到/velkommen, 因此,在某种程度上,它已经按我所希望的那样工作了(有一个额外的重定向),但最好不要运行javascript重定向,因为它会为用户创建等待时间。为了运气,我尝试了以下方法:Change homepage urlHow to change the Admin-bar's link target?