WordPress企業建站系列:后臺刪除不需要的側邊欄菜單

本文是wordpress企業建站系列教程的第一篇文章,帶大家聊聊WordPress后臺怎么刪除不需要的側邊欄菜單,希望對大家有所幫助。

WordPress企業建站系列:后臺刪除不需要的側邊欄菜單

自定義后臺的側邊欄頂級菜單

?????首先讓我們看看,什么是后臺的側邊欄菜單:

WordPress企業建站系列:后臺刪除不需要的側邊欄菜單

?????上圖就是使用管理員賬號登陸后看到的側邊欄所有的菜單項,WordPress給不同角色的用戶定義了不同功能的使用權限,所以不同角色的用戶后臺所看到側邊欄菜單項都是不一樣的。這個時候需求又來了,有些時候即使是管理員,部分菜單也是用不到了,例如用WordPress來建一個企業介紹性的網站,該站點根本沒有添加評論功能,那么側邊欄的評論菜單是用不著的,如果讓企業用戶看到,他們會感到很迷惑。所以最好的辦法是,根據實際情況,把不該有的側邊欄管理菜單刪掉。具體實現辦法是在當前主題的functions.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],?'

自定義要去除的頂級菜單

?????以上代碼核心部分是一個函數remove_menus(),然后通過WordPress的動作接口函數add_action來執行remove_menus函數。在remove_menus函數中,通過$restricted數組來定義需要刪除哪些菜單項,以上$restricted數組提供了全部菜單項,也就是說如果你全部將以上代碼不做修改地復制到functions.php,那你的WordPress后臺就沒有任何菜單了,你應該根據實際需要去除菜單,下面講講$restricted各個數組項對應的菜單:

  • __(‘Dashboard’) ?: 控制板菜單
  • __(‘Posts’) ? ? ?: 文章
  • __(‘Media’) ? ? ?: 媒體
  • __(‘Links’) ? ? ?: 鏈接
  • __(‘Pages’) ? ? ?: 頁面
  • __(‘Comments’) ? : 評論
  • __(‘Appearance’) : 外觀
  • __(‘Plugins’) ? ?: 插件
  • __(‘Users’) ? ? ?: 用戶
  • __(‘Tools’) ? ? ?: 工具
  • __(‘Settings’) ? : 設置

?????例如你只想去除評論工具菜單,你只需改寫以上代碼第3行的$restricted數組:

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

刪除不必要的子菜單

?????WordPress后臺的頂級菜單下面還有子菜單,當然有些子菜單是用不到的,我們也可以將其刪除,WordPress 3.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,好了,就這么簡單,下面是實現代碼,:

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添加判斷,改寫成:

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?

?????在WordPress后臺 – 用戶那里,管理員可以查看 / 編輯用戶的角色,以下是用戶角色和其等級的對應關系:

  • 0 級對應 訂閱者
  • 1 級對應 投稿者
  • 2 – 4 級對應 作者
  • 5 – 7 級對應 編輯
  • 8 – 10 級對應 管理員

?????WordPress 3.0 之后將逐漸棄用用戶數字等級,推薦使用戶權限,可以用函數current_user_can()來判斷用戶權限。

使用超簡單的插件

?????下面推薦一個使用超簡單的插件,不需要任何編碼,只需拖拖鼠標就可以實現上面所說的大部分功能。插件名稱是:remove_submenu_page( $menu_slug, $submenu_slug ),可以remove_submenu_page( $menu_slug, $submenu_slug )前往WordPress官方下載,啟用后到設置 – Menu Editor,就可以編輯后臺的菜單了,還可以添加外鏈菜單,可以調整菜單順序等等,剩下的你自己體驗吧!

推薦學習:《remove_submenu_page( $menu_slug, $submenu_slug )

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享