WordPress不仅可以用来做博客、企业站、图片站和商城,甚至可以当作框架来使用,开发任何自己想要的功能,例如一个对接公众号的会员管理系统。

在做这类二次开发时,可能需要清除WordPress原有一些东西,例如标志、后台菜单等。

以下方法不一定全是你需要的,但愿有你需要的。

登录页去Logo

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

删除顶部工具条中的菜单:

function ztjun_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', 'ztjun_remove_bar');

删除左侧菜单:

function ztjun_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', 'ztjun_remove_menus');

替换页脚版权信息:

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

去除后台页面Title标签中的“wordpress”字样:

function ztjun_filter_admin_title($admin_title, $title) {
return rtrim($admin_title, ' — WordPress');
}
add_filter('admin_title', 'ztjun_filter_admin_title', 10, 2);

去除登录页面Title标签中的“wordpress”字样:

function ztjun_filter_login_title($login_title, $title) {
return rtrim($login_title, ' — WordPress');
}
add_filter('login_title', 'ztjun_filter_login_title', 10, 2);

为登录页添加背景:

function ztjun_login_head() {
$img = get_template_directory_uri() . '/statics/img/login-bg.jpg';
echo "<style>body {background: url({$img}) #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', 'ztjun_login_head');

删除帮助:

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

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

function ztjun_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', 'ztjun_remove_profile_option', 10, 1);
add_action('edit_user_profile', 'ztjun_remove_profile_option', 10, 1);

删除仪表盘模块:

function ztjun_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', 'ztjun_remove_dashboard_widgets' );

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

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

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