wordpress技巧:使用纯代码屏蔽WordPress后台无用项 高效提升界面体验

WordPress 的功能十分强大,但是有些功能模块我们平时是用不到的,所以说一下如何使用代码将它们屏蔽掉呢?我们可以根据自己的需要,将下面相关屏蔽代码添加到当前主题文件中,或者在主题目录下新建一个functions-diy.php文件,然后在functions.php文件中引入,这样的话就不需要担心因为主题更新等操作覆盖掉当前的代码了。

新建functions-diy.php,然后在functions.php文件中引入代码:

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

然后将我们下面自定义的代码加入到其中,如果不新建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']);
   // 以下这一行代码将屏蔽 "活动" 模块
   unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']); 
}
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);

屏蔽后台更新模块

//屏蔽后台更新模块
    function wp_hide_nag() {
    remove_action( 'admin_notices', 'update_nag', 3 );
}
add_action('admin_menu','wp_hide_nag');

ok,最后再贴一个我的后台页面,仅供大家参考,可根据自己的需求设置相关代码:

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注