星期二 , 2020-10-20
首页 > WordPress教程 > WordPress后台根据用户角色显示菜单项

WordPress后台根据用户角色显示菜单项

WordPress支持多种用户角色,包括管理员、编辑、作者、投稿者和订阅者等,你还可以自定义一些角色,这个不在本文讨论范围。当你的网站想让不同等级用户的账户后台显示不同的侧边栏菜单项时就需要对其进行定制修改。我们可以根据不同的用户角色显示他能查看的不同菜单项,这样就便于管理不同等级用户的权限。本文将介绍如何根据不同的用户角色显示后台侧边栏菜单项的方法。

1、根据不同用户角色显示不同的菜单项:

/*
根据用户角色移除菜单项
代码来源: www.wpzhinan.com/jiaocheng/1757.html
*/
function wpzhinan_remove_menu_page(){
remove_submenu_page( 'edit.php', 'post-new.php' ); //移除"写文章"子菜单
remove_menu_page('tools.php');
remove_menu_page('edit-comments.php');
}
if(!current_user_can('subscriber') && is_admin()){
add_action('admin_menu', 'wpzhinan_remove_menu_page');
}

代码说明:将以上代码插入主题fuction.php即可,以上代码仅以实例说明用法。上述代码的意思是当用户级别为订阅者时将不显示“写文章”、“工具”和“评论”等侧边栏菜单项。如需添加多种不同的角色侧边栏菜单限制,除了要修改需移除的菜单项外,还需注意修改function名称,不能使用相同的function名称,否则将报错噢!

你可以根据需要替换成你需要作限制的用户角色,也可修改需要限制的菜单项。WordPress默认的5种角色名:administrator、editor、author、contributor、subscriber。可用这些角色名替换上述示例代码中的subscriber订阅者角色。

2、如需所有角色不显示一些后台菜单项,可以用如下方法:

/*
所有角色不显示一些后台菜单项
代码来源: www.wpzhinan.com/jiaocheng/1757.html
*/
function remove_menus() {
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
if ( is_admin() ) {
// 删除左侧菜单
add_action('admin_menu', 'remove_menus');
}

代码说明:以上代码中会将所有侧边栏默认菜单删除,主要是为了告诉您有哪些菜单项是可被删除、怎样删除,你可以根据需要需要保留的菜单项删除以上代码中的逗号分隔中的代码即可。需将以上代码插入主题fuction.php。

本文地址:http://www.wpzhinan.com/jiaocheng/1757.html
版权申明:除部分代码外,本站内容均为原创,转载请注明来源,违者必究侵权责任!

相关推荐

WP_Image_Editor_Imagick 指令注入漏洞修复方法

Imagick组件爆出了超级漏洞,危害等级极高,直接导致大量使用Imagick组件的网站均 ...