純代碼屏蔽WordPress後台無用項讓你的後台更加簡潔

  • 2019 年 12 月 9 日
  • 筆記

WordPress 的功能十分強大,但是有些功能模塊我們平時是用不到的,所以說一下如何使用代碼將它們屏蔽掉

根據自己的需要,將下面代碼添加到當前主題functions.phpfunctions-diy.php文件中

推薦在原functions.php加入一個自定義文件

require get_template_directory() . '/functions-diy.php';

將我們自定義的代碼加入到其中,無須擔心更新主題時functions.php被覆蓋

那麼我們從上至下開始清理吧

頂部工具欄

function my_edit_toolbar($wp_toolbar) {     $wp_toolbar->remove_node('wp-logo'); // 去掉 WordPress LOGO     $wp_toolbar->remove_node('site-name'); // 去掉網站名稱     $wp_toolbar->remove_node('updates'); // 去掉更新提醒     $wp_toolbar->remove_node('comments'); // 去掉評論提醒     $wp_toolbar->remove_node('new-content'); // 去掉新建文件     $wp_toolbar->remove_node('top-secondary'); // 用戶信息  }  add_action('admin_bar_menu', 'my_edit_toolbar', 999);

左側頂級菜單

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()){     add_action('admin_menu', 'remove_menus');  }

如果你只想刪除用戶和工具菜單,你只需改寫以上代碼第 3 行的$restricted數組修改為如下代碼即可:

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

左側子菜單

如果只想刪除某個頂級菜單下的子菜單的話,可以這麼寫

function remove_submenu() {     // 刪除儀錶盤下的首頁     remove_submenu_page('index.php', 'index.php');     // 刪除儀錶盤下的更新     remove_submenu_page('index.php', 'update-core.php');  }  if (is_admin()){     //刪除子菜單     add_action('admin_init','remove_submenu');  }

具體的縮略名如何獲取呢?這裡舉例說明:

我們點擊儀錶盤時 url 為/wp-admin/index.php,點擊首頁時也是,點擊更新時為/wp-admin/update-core.php,其他的依次類推~

只需要獲取頂級菜單和子菜單相應的縮略名,然後在remove_submenu()函數內添加remove_submenu_page()函數即可

儀錶盤無用模塊

這個可以儀錶盤右上角的顯示選項中進行手動修改

function example_remove_dashboard_widgets() {     global $wp_meta_boxes;     // 以下這一行代碼將刪除 "快速發佈" 模塊     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);     // 以下這一行代碼將刪除 "引入鏈接" 模塊     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);     // 以下這一行代碼將刪除 "插件" 模塊     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);     // 以下這一行代碼將刪除 "近期評論" 模塊     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);     // 以下這一行代碼將刪除 "近期草稿" 模塊     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);     // 以下這一行代碼將刪除 "WordPress 開發日誌" 模塊     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);     // 以下這一行代碼將刪除 "其它 WordPress 新聞" 模塊     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);     // 以下這一行代碼將刪除 "概況" 模塊     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);  }  add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );

顯示選項和幫助選項卡

function remove_screen_options(){ return false;}  add_filter('screen_options_show_screen', 'remove_screen_options');  add_filter( 'contextual_help', 'syz_remove_help', 999, 3 );  function syz_remove_help($old_help, $screen_id, $screen){     $screen->remove_help_tabs();     return $old_help;  }

頁腳版本信息

function change_footer_admin () {return '';}  add_filter('admin_footer_text', 'change_footer_admin', 9999);  function change_footer_version() {return '';}  add_filter( 'update_footer', 'change_footer_version', 9999);

ok,最後再貼一個我的後台頁面~

沈唁志,一個PHPer的成長之路! 任何個人或團體,未經允許禁止轉載本文:《純代碼屏蔽WordPress後台無用項讓你的後台更加簡潔》,謝謝合作!