WordPress 的功能十分强大,但是有些功能模块我们平时是用不到的,所以说一下如何使用代码将它们屏蔽掉
根据自己的需要,将下面代码添加到当前主题 functions.php
或 functions-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') // 插件
);
foreach ($menu as $key => $item) {
$value = explode(' ', $item[0]);
if (strpos($value[0], '<') === false) {
if (in_array($value[0] ?? '', $restricted)) {
unset($menu[$key]);
}
} else {
$value2 = explode('<', $value[0]);
if (in_array($value2[0] ?? '', $restricted)) {
unset($menu[$key]);
}
}
}
}
// 是后台的情况时
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,最后再贴一个我的后台页面~