About MuCheng
站长暮城,暂无字无号。 嗜上网,喜欢折腾,爱旅行与王者,喜爱宁静大自然。性格随和、沉稳(实际上是有些木讷),不吸烟,偶小酌,乐于箪食瓢饮。 虽说早自2005年就已开站,但站无定所,四处飘荡,遂于2020年11月正式开通本站。所发文仅用于暮城记录学习笔记之用,以利己利人为基则,无任何盈利目的,不承接广告合作,未注明出处的文章,如有侵权,请及时联系暮城予以删除。 联系方式:mc@mcheng.cn

纯代码屏蔽WordPress后台管理面板无用项以及美化wordpress界面

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');