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,就能夠編輯後臺的菜單了,還能夠添加外鏈菜單,能夠調整菜單順序等等,剩下的你本身體驗吧!

相關文章
相關標籤/搜索