WordPress彻底去除后台版权方法

简介

WordPress不仅可以用来做博客、企业站、图片站和商城,甚至可以当作框架来使用,开发任何自己想要的功能,例如一个对接公众号的会员管理系统。
在做这类二次开发时,可能需要清除WordPress原有一些东西,例如标志、后台菜单等。以下方法不一定全是你需要的,但愿有你需要的。

方法

登录页去Logo

function bzg_remove_loginlogo() {
    echo '<style>#login > h1 a {background: none;}</style>';
}
add_action('login_head', 'bzg_remove_loginlogo');

顶部工具条菜单

function bzg_remove_bar() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo'); //左上角WP Logo图标
    $wp_admin_bar->remove_menu('comments'); //评论按钮
    $wp_admin_bar->remove_menu('new-content'); //新建按钮
    $wp_admin_bar->remove_menu('view-site'); //查看网站链接
}
add_action('wp_before_admin_bar_render', 'bzg_remove_bar');

左侧菜单

function bzg_remove_menus() {
    remove_menu_page('index.php'); //仪表盘
    remove_menu_page('edit.php'); //文章
    remove_menu_page('edit.php?post_type=page'); //页面
    remove_menu_page('edit-comments.php'); //评论
    remove_menu_page('upload.php'); //媒体
    remove_menu_page('themes.php'); //外观
    remove_menu_page('plugins.php'); //插件
    remove_menu_page('users.php'); //用户
    remove_menu_page('profile.php'); //个人资料
    remove_menu_page('tools.php'); //工具
    remove_menu_page('options-general.php'); //设置
}
add_action('admin_menu', 'bzg_remove_menus');

页脚版权

function bzg_admin_footer() {
    return '<span id="footer-thankyou">Copyright &copy; ' . get_option('blogname') . '</span>';
}
add_filter('admin_footer_text', 'bzg_admin_footer');

后台页面Title标签中的“wordpress”

function bzg_filter_admin_title($admin_title, $title) {
    return rtrim($admin_title, ' &#8212; WordPress');
}
add_filter('admin_title', 'bzg_filter_admin_title', 10, 2);

登录页面Title标签中的“wordpress”

function bzg_filter_login_title($login_title, $title) {
    return rtrim($login_title, ' &#8212; WordPress');
}
add_filter('login_title', 'bzg_filter_login_title', 10, 2);

为登录页添加背景

function bzg_login_head() {
    $img = get_template_directory_uri() . '/statics/img/login-bg.jpg';
    echo "<style>
            body {
                background: url({$imgdir}) #ffffff center center no-repeat;
                background-size: cover;
            }
            .login form {
                box-shadow: 0px 0px 5px rgba(0,0,0,.3);
            }
        </style>";
}
add_action('login_head', 'bzg_login_head');

删除帮助

function bzg_remove_help() {
    get_current_screen()->remove_help_tabs();
}
add_action('admin_head', 'bzg_remove_help');

隐藏个人资料页面部份表单项

function bzg_remove_profile_option($user_id) {
    echo '<style>
        #your-profile h2,
        .user-syntax-highlighting-wrap,
        .user-rich-editing-wrap,
        .user-comment-shortcuts-wrap,
        .user-admin-bar-front-wrap,
        .user-language-wrap,
        .user-user-login-wrap,
        .user-first-name-wrap,
        .user-last-name-wrap,
        .user-url-wrap,
        .user-description-wrap {
            display:none;
        }
        </style>';
}
add_action('show_user_profile', 'bzg_remove_profile_option', 10, 1);
add_action('edit_user_profile', 'bzg_remove_profile_option', 10, 1);

删除仪表盘模块

function bzg_remove_dashboard_widgets() {
    global $wp_meta_boxes;
    //删除 "活动" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
    //删除 "WordPress 新闻" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
}
add_action('wp_dashboard_setup', 'bzg_remove_dashboard_widgets' );

其它

在隐藏仪表盘菜单后,可能希望登录后台显示某个特定页面,那么可以通过以下代码实现跳转:

//登录后台跳转
function bzg_login_redirect($redirect_to, $request, $user) {
    if(!isset($user->roles)) return;
    return $url;
}
add_filter('login_redirect', 'bzg_login_redirect', 10, 3);
//在仪表盘页面时跳转
if(is_admin() && 'index.php' == $GLOBALS['pagenow']) {
    header("location:$url");
}

清理干净后,就可以开始定制自己的个性化后台了,使用 add_menu_page 函数和 admin_menu 钩子就可以添加菜单。

Related Post

发表回复