本文是WordPress企業(yè)建站系列教程的第一篇文章,帶大家聊聊WordPress后臺(tái)怎么刪除不需要的側(cè)邊欄菜單,希望對(duì)大家有所幫助。
首先讓我們看看,什么是后臺(tái)的側(cè)邊欄菜單:
(資料圖片僅供參考)
上圖就是使用管理員賬號(hào)登陸后看到的側(cè)邊欄所有的菜單項(xiàng),WordPress給不同角色的用戶定義了不同功能的使用權(quán)限,所以不同角色的用戶后臺(tái)所看到側(cè)邊欄菜單項(xiàng)都是不一樣的。這個(gè)時(shí)候需求又來(lái)了,有些時(shí)候即使是管理員,部分菜單也是用不到了,例如用WordPress來(lái)建一個(gè)企業(yè)介紹性的網(wǎng)站,該站點(diǎn)根本沒(méi)有添加評(píng)論功能,那么側(cè)邊欄的評(píng)論菜單是用不著的,如果讓企業(yè)用戶看到,他們會(huì)感到很迷惑。所以最好的辦法是,根據(jù)實(shí)際情況,把不該有的側(cè)邊欄管理菜單刪掉。具體實(shí)現(xiàn)辦法是在當(dāng)前主題的functions.php 第一個(gè) <?php 后面添加以下代碼:
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(strpos($value[0], "<") === FALSE) { if(in_array($value[0] != NULL ? $value[0]:"" , $restricted)){ unset($menu[key($menu)]); } } else { $value2 = explode("<", $value[0]); if(in_array($value2[0] != NULL ? $value2[0]:"" , $restricted)){ unset($menu[key($menu)]); } } }}if ( is_admin() ) { // 刪除左側(cè)菜單 add_action("admin_menu", "remove_menus");}以上代碼核心部分是一個(gè)函數(shù)remove_menus(),然后通過(guò)WordPress的動(dòng)作接口函數(shù)add_action來(lái)執(zhí)行remove_menus函數(shù)。在remove_menus函數(shù)中,通過(guò)$restricted數(shù)組來(lái)定義需要?jiǎng)h除哪些菜單項(xiàng),以上$restricted數(shù)組提供了全部菜單項(xiàng),也就是說(shuō)如果你全部將以上代碼不做修改地復(fù)制到functions.php,那你的WordPress后臺(tái)就沒(méi)有任何菜單了,你應(yīng)該根據(jù)實(shí)際需要去除菜單,下面講講$restricted各個(gè)數(shù)組項(xiàng)對(duì)應(yīng)的菜單:
__("Dashboard") : 控制板菜單__("Posts") : 文章__("Media") : 媒體__("Links") : 鏈接__("Pages") : 頁(yè)面__("Comments") : 評(píng)論__("Appearance") : 外觀__("Plugins") : 插件__("Users") : 用戶__("Tools") : 工具_(dá)_("Settings") : 設(shè)置例如你只想去除評(píng)論和工具菜單,你只需改寫以上代碼第3行的$restricted數(shù)組:
$restricted = array(__("Comments"), __("Tools"));WordPress后臺(tái)的頂級(jí)菜單下面還有子菜單,當(dāng)然有些子菜單是用不到的,我們也可以將其刪除,WordPress 3.1以后的版本只需用到一個(gè)函數(shù)remove_submenu_page( $menu_slug, $submenu_slug ),這里有兩個(gè)參數(shù),$menu_slug是子菜單所在頂級(jí)菜單的縮略名,$submenu_slug為子菜單的縮略名,那如何獲得這兩個(gè)縮略名呢?例如,點(diǎn)擊頂級(jí)菜單設(shè)置,鏈接地址類似: http://example/wp-admin/options-general.php
那么頂級(jí)菜單設(shè)置的縮略名為options-general.php,也就是去除http://example/wp-admin/后剩下的東西,依次類推;接著點(diǎn)擊頂級(jí)菜單設(shè)置下面的子菜單隱私,會(huì)打開(kāi)以下網(wǎng)址: http://example/wp-admin/options-privacy.php
那么子菜單隱私的縮略名為options-privacy.php,好了,就這么簡(jiǎn)單,下面是實(shí)現(xiàn)代碼,:
function remove_submenu() {// 刪除"設(shè)置"下面的子菜單"隱私"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");}如果你想按用戶角色來(lái)去除相應(yīng)的側(cè)邊欄菜單,那就再做一下用戶等級(jí)的判斷就可以了,給第11行的add_action添加判斷,改寫成:
function remove_menus() { global $menu; // 這里$restricted設(shè)置了評(píng)論和工具菜單 $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();//如果當(dāng)前用戶的等級(jí)小于3,那么就刪除對(duì)應(yīng)的菜單if ($current_user->user_level < 3 && is_admin()) { add_action("admin_menu", "remove_menus"); add_action("admin_init","remove_submenu");}在WordPress后臺(tái) – 用戶那里,管理員可以查看 / 編輯用戶的角色,以下是用戶角色和其等級(jí)的對(duì)應(yīng)關(guān)系:
0 級(jí)對(duì)應(yīng) 訂閱者1 級(jí)對(duì)應(yīng) 投稿者2 – 4 級(jí)對(duì)應(yīng) 作者5 – 7 級(jí)對(duì)應(yīng) 編輯8 – 10 級(jí)對(duì)應(yīng) 管理員WordPress 3.0 之后將逐漸棄用用戶數(shù)字等級(jí),推薦使用戶權(quán)限,可以用函數(shù)current_user_can()來(lái)判斷用戶權(quán)限。
下面推薦一個(gè)使用超簡(jiǎn)單的插件,不需要任何編碼,只需拖拖鼠標(biāo)就可以實(shí)現(xiàn)上面所說(shuō)的大部分功能。插件名稱是:Admin Menu Editor,可以點(diǎn)此前往WordPress官方下載,啟用后到設(shè)置 - Menu Editor,就可以編輯后臺(tái)的菜單了,還可以添加外鏈菜單,可以調(diào)整菜單順序等等,剩下的你自己體驗(yàn)吧!
推薦學(xué)習(xí):《WordPress教程》
以上就是WordPress企業(yè)建站系列:后臺(tái)刪除不需要的側(cè)邊欄菜單的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
關(guān)鍵詞: