WordPress后台删除不须要的侧边栏菜单

自定义后台的侧边栏顶级菜单

     首先让咱们看看,什么是后台的侧边栏菜单:php

     上图就是使用管理员帐号登录后看到的侧边栏全部的菜单项,WordPress给不一样角色的用户定义了不一样功能的使用权限,因此不一样角色的 用户后台所看到侧边栏菜单项都是不同的。这个时候需求又来了,有些时候即便是管理员,部分菜单也是用不到了,例如用WordPress来建一个企业介绍 性的网站,该站点根本没有添加评论功能,那么侧边栏的评论菜单是用不着的,若是让企业用户看到,他们会感到很迷惑。因此最好的办法是,根据实际状况,把不应有的侧边栏管理菜单删掉。具体实现办法是在当前主题的functions.php中添加如下代码:数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14wordpress

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');
}函数

自定义要去除的顶级菜单

     以上代码核心部分是一个函数remove_menus(),而后经过WordPress的动做接口函数add_action来执行 remove_menus函数。在remove_menus函数中,经过$restricted数组来定义须要删除哪些菜单项,以 上$restricted数组提供了所有菜单项,也就是说若是你所有将以上代码不作修改地复制到functions.php,那你的WordPress后 台就没有任何菜单了,你应该根据实际须要去除菜单,下面讲讲$restricted各个数组项对应的菜单:工具

·                        __('Dashboard') : 控制板菜单网站

·                        __('Posts') : 文章编码

·                        __('Media') : 媒体spa

·                        __('Links') : 连接.net

·                        __('Pages') : 页面插件

·                        __('Comments') : 评论

·                        __('Appearance') : 外观

·                        __('Plugins') : 插件

·                        __('Users') : 用户

·                        __('Tools') : 工具

·                        __('Settings') : 设置

     例如你只想去除评论工具菜单,你只需改写以上代码第3行的$restricted数组:

1

$restricted = array(__('Comments'), __('Tools'));

删除没必要要的子菜单

     WordPress后台的顶级菜单下面还有子菜单,固然有些子菜单是用不到的,咱们也能够将其删除,WordPress3.1之后的版本只需用到一个函数remove_submenu_page( $menu_slug,$submenu_slug ),这里有两个参数,$menu_slug是子菜单所在顶级菜单的缩略名,$submenu_slug为子菜单的缩略名,那如何得到这两个缩略名呢?例如,点击顶级菜单设置,连接地址相似:
     http://example/wp-admin/options-general.php

     那么顶级菜单设置的缩略名为options-general.php,也就是去除http://example/wp-admin/后剩下的东西,依次类推;接着点击顶级菜单设置下面的子菜单隐私,会打开如下网址:
     http://example/wp-admin/options-privacy.php

     那么子菜单隐私的缩略名为options-privacy.php,好了,就这么简单,下面是实现代码,:

1
2
3
4
5
6
7
8
9
10
11

function remove_submenu() {
    // 删除"设置"下面的子菜单"隐私"
    remove_submenu_page( 'options-general.php', 'options-privacy.php' );

    // 删除"外观"下面的子菜单"编辑"
    remove_submenu_page( 'themes.php', 'theme-editor.php' );
}

if ( is_admin() ) {
    add_action('admin_init','remove_submenu');
}

根据用户角色去除菜单

     若是你想按用户角色来去除相应的侧边栏菜单,那就再作一下用户等级的判断就能够了,给第11行的add_action添加判断,改写成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

function remove_menus() {
    global $menu;

    // 这里$restricted设置了评论和工具菜单
    $restricted = array(__('Comments'), __('Tools'));
    end ($menu);
    while (prev($menu)){
        $value = explode(' ',$menu[key($menu)][0]);
        if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
    }
}

function remove_submenu() {
    remove_submenu_page( 'options-general.php', 'options-privacy.php' );
}

global $current_user;
get_currentuserinfo();

//若是当前用户的等级小于3,那么就删除对应的菜单
if ($current_user->user_level < 3 && is_admin()) {
    add_action('admin_menu', 'remove_menus');
    add_action('admin_init','remove_submenu');
}

     在WordPress后台 – 用户那里,管理员能够查看 / 编辑用户的角色,如下是用户角色和其等级的对应关系:

·                        0 级对应 订阅者

·                        1 级对应 投稿者

·                        2 – 4 级对应 做者

·                        5 – 7 级对应 编辑

·                        8 – 10 级对应 管理员

     WordPress3.0 以后将逐渐弃用用户数字等级,推荐使用户权限,能够用函数current_user_can()来判断用户权限。

使用超简单的插件

     下面推荐一个使用超简单的插件,不须要任何编码,只需拖拖鼠标就能够实现上面所说的大部分功能。插件名称是:Admin Menu Editor,能够点此前往WordPress官方下载,启用后到设置 – MenuEditor,就能够编辑后台的菜单了,还能够添加外链菜单,能够调整菜单顺序等等,剩下的你本身体验吧!

相关文章
相关标签/搜索