具體實現辦法是在當前主題的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(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’) : 媒體
__(‘Links’) : 鏈接
__(‘Pages’) : 頁面
__(‘Comments’) : 評論
__(‘Appearance’) : 外觀
__(‘Plugins’) : 插件
__(‘Users’) : 用戶
__(‘Tools’) : 工具
__(‘Settings’) : 設置
例如你只想去除評論和工具菜單,你只需改寫以上代碼第3行的$restricted數組代碼如下:
$restricted = array(__(‘Comments’), __(‘Tools’));
根據用戶角色去除菜單
wordpress共有5種角色:administrator(管理員) editor(編輯) author(作者) contributor(投稿者) subscriber(訂閱者)
判斷角色方法舉例:
if(!current_user_can(‘administrator’)){……} //當不是管理員
去除非管理員用戶后臺一級菜單和二級菜單舉例,在主題functions.php中添加如下代碼:
- /*not_administrator_remove_menu_page*/
- function n_a_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(‘administrator’) && is_admin()){
- add_action(‘admin_menu’, ‘n_a_remove_menu_page’);
- }
新聞熱點
疑難解答
圖片精選