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], '<') === 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');
}
删除子菜单
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');
}
屏蔽后台更新模块
function wp_hide_nag() {
remove_action( 'admin_notices', 'update_nag', 3 );
}
add_action('admin_menu','wp_hide_nag');
屏蔽选项卡和帮助
function remove_screen_options(){ return false;}
add_filter('screen_options_show_screen', 'remove_screen_options');
add_filter( 'contextual_help', 'wpse50723_remove_help', 999, 3 );
function wpse50723_remove_help($old_help, $screen_id, $screen){
$screen->remove_help_tabs();
return $old_help;
}
屏蔽仪表盘无用模块
function example_remove_dashboard_widgets() {
// Globalize the metaboxes array, this holds all the widgets for wp-admin
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 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);
屏蔽后台左上角Logo
function annointed_admin_bar_remove() {
global $wp_admin_bar;
/* Remove their stuff */
$wp_admin_bar->remove_menu('wp-logo');
}
add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0);
关闭主题自定义功能
add_filter('map_meta_cap', function($caps, $cap){
if($cap == 'customize'){
return ['do_not_allow'];
}
return $caps;
},10,2);
移除登录页面标题中的“ — WordPress”
//移除登录页面标题中的“ — WordPress”
add_filter('login_title', 'fanly_remove_login_title', 10, 2);
function fanly_remove_login_title($login_title, $title){
return $title.' ‹ '.get_bloginfo('name');
}
移除后台页面标题中的“ — WordPress”
//移除后台页面标题中的“ — WordPress”
add_filter('admin_title', 'fanly_remove_admin_title', 10, 2);
function fanly_remove_admin_title($admin_title, $title){
return $title.' ‹ '.get_bloginfo('name');
}
自定义 WordPress 登录界面 Logo
在主题目录 functions.php 中加入以下代码:
//自定义 WordPress 登录界面 Logo
function fanly_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/logo.png) !important; }
</style>';
}
add_action('login_head', 'fanly_custom_login_logo');
使用以上方法时需要提醒一下:将需要替换的 Logo 图片放置到主题目录的 images/custom-login-logo.gif ,默认 WordPress 的后台 logo 尺寸为 274px*63px。
删除 WordPress 登录界面 Logo
若想让后台登陆界面变得更加简洁,可以尝试着只留下输入框,删除 WordPress 登录界面 Logo。同样的方法在主题目录 functions.php 中加入以下代码:
//删除 WordPress 登录界面 Logo
function admin_bar_remove() {
global $wp_admin_bar;
/* Remove their stuff */
$wp_admin_bar->remove_menu('wp-logo');
}
add_action('wp_before_admin_bar_render', 'admin_bar_remove', 0);
自定义 Logo 链接
将 Logo 的链接改为网站首页链接:
//自定义登录页面的 LOGO 链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
将 Logo 的链接改为任意链接:
//自定义登录界面 LOGO 链接为任意链接
function custom_loginlogo_url($url) {
return 'https://www.mcheng.cn'; //修改 URL 地址
}
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
自定义 Logo 提示信息(tltle)
自定义为网站名称:
//自定义登录页面的 LOGO 提示为网站名称
add_filter('login_headertitle', create_function(false,"return get_bloginfo('name');"));
自定义为其他任何文本:
//自定义登录页面 LOGO 提示为任意文本
function custom_loginlogo_desc($url) {
return '暮城记事本'; //修改文本信息
}
add_filter( 'login_headertitle', 'custom_loginlogo_desc' );
自定义登录框内容
//在登录框添加额外的信息
function custom_login_message() {
echo '<p>欢迎来到'.get_bloginfo('name').',请登录后继续操作</p><br />';
}
add_action('login_form', 'custom_login_message');