定制化WordPress后台自定义仪表盘

简介:

WordPress作为一博客管理系统,相对来说已经相当简洁了,对用户也十分友好,新手也极易上手。

仪表盘是我们登陆WordPress后看到的后台界面,映入眼帘的是各种各样的信息,如WordPress China博客消息,及其他关于WordPress的RSS信息,这些无用的东西空空的耗费着我们内存。通过定制WordPress的管理后台,我们可以让WordPress更加简单实用,易于管理。简化后台界面,去除冗余信息和代码。

WordPress内置的hooks(包括filter和action)为我们定制WordPress后台提供了完美的解决方案。通过“勾入”而非修改WordPress的核心程序,可以在不影响安装文件完整性的情况下安全地作改动。

下面介绍的代码将全部在主题模板函数functions.php文件里修改。

WordPress后台定制

WordPress后台定制

去除控制台Widgets


//Remove dashboard widgets
function remove_dashboard_widgets(){
  global $wp_meta_boxes;
  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_primary']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']); 
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');

增加控制台Widget


//Add dashboard widgets
if ( ! function_exists( 'add_dashboard_widgets' ) ) :
function welcome_dashboard_widget_function() {
echo "<ul><li><a href='post-new.php'>发布内容</a></li><li><a href='edit.php'>修改内容</a></li></ul>";
}
function add_dashboard_widgets() {
wp_add_dashboard_widget('welcome_dashboard_widget', '常规任务', 'welcome_dashboard_widget_function');
}
add_action('wp_dashboard_setup', 'add_dashboard_widgets' );
endif;

去除小工具Widgets


//Disable Standard Widgets
function remove_some_wp_widgets(){
  unregister_widget('WP_Widget_Pages');
  unregister_widget('WP_Widget_Calendar');
  unregister_widget('WP_Widget_Archives');
  unregister_widget('WP_Widget_Links');
  unregister_widget('WP_Widget_Meta');
  unregister_widget('WP_Widget_Search');
  unregister_widget('WP_Widget_Text');
  unregister_widget('WP_Widget_Categories');
  unregister_widget('WP_Widget_Recent_Posts');
  unregister_widget('WP_Widget_Recent_Comments');
  unregister_widget('WP_Widget_RSS');
  unregister_widget('WP_Widget_Tag_Cloud');
}
add_action('widgets_init',remove_some_wp_widgets', 1);

删除顶级菜单


//remove menus
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(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
    }
}
if ( is_admin() ) {
    add_action('admin_menu', 'remove_menus');
}

删除子菜单


//remove submenus
function remove_submenus() {
  global $submenu;
  unset($submenu['index.php'][10]); // Removes 'Updates'.
  unset($submenu['themes.php'][5]); // Removes 'Themes'.
  unset($submenu['options-general.php'][15]); // Removes 'Writing'.
  unset($submenu['options-general.php'][25]); // Removes 'Discussion'.
  unset($submenu['edit.php'][16]); // Removes 'Tags'. 
}
add_action('admin_menu', 'remove_submenus');

根据角色设定菜单可见性


//remove role menus
function remove_menus() {
    global $menu;
    // 这里$restricted设置了评论和工具菜单
    $restricted = array(__('Comments'), __('Tools'));
    end ($menu);
    while (prev($menu)){
        $value = explode(' ',$menu[key($menu)][0]);
        if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
    }
}
function remove_submenu() {
    remove_submenu_page( 'options-general.php', 'options-privacy.php' );
}
global $current_user;
get_currentuserinfo();
//如果当前用户的等级小于3,那么就删除对应的菜单
if ($current_user->user_level < 3 && is_admin()) {
    add_action('admin_menu', 'remove_menus');
    add_action('admin_init','remove_submenu');
}

0 级对应 订阅者 1 级对应 投稿者 2 – 4 级对应 作者 5 – 7 级对应 编辑 8 – 10 级对应 管理员

修改后台LOGO图标


//custom admin logo
function custom_logo() {
  echo '<style type="text/css">
    #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin_logo.png) !important; }
    </style>';
}
add_action('admin_head', 'custom_logo');

修改登录页面LOGO


//custom login logo
function custom_login_logo() {
  echo '<style type="text/css">
    h1 a { background-image:url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
    </style>';
}
add_action('login_head', 'custom_login_logo');

隐藏版本更新


//Hide the Upgrade Notice to Recent Versions
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

修改页脚信息


//Customize the Footer
function modify_footer_admin () {
  echo 'Created by <a href="http://wiinder.com">wiinder</a>.';
  echo 'Powered by<a href="http://WordPress.org">WordPress</a>.';
}
add_filter('admin_footer_text', 'modify_footer_admin');

去除编辑页面媒体上传按钮


//remove all media buttons
add_action('admin_init', 'remove_all_media_buttons');
function remove_all_media_buttons()
{
    remove_all_actions('media_buttons');
}

完整删除WP版本号


//完整的删除WordPress的版本号
function wpbeginner_remove_version() {
return '';
}
add_filter('the_generator', 'wpbeginner_remove_version');

隐藏帮助按钮和版本更新


//隐藏管理后台帮助按钮和版本更新提示
function hide_help() {
	echo'<style type="text/css">#contextual-help-link-wrap { display: none !important; } .update-nag{ display: none !important; } #footer-left, #footer-upgrade{ display: none !important; }#wp-admin-bar-wp-logo{display: none !important;}.default-header img{width:400px;}</style>';
}
add_action('admin_head', 'hide_help');

去除header冗余代码


//去除header冗余代码
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'wp_generator');
 



本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/p/3546636.html如需转载请自行联系原作者
相关文章
|
10月前
|
PHP
WordPress 的最佳设计和自定义页面布局生成器是什么吗?
WordPress 有很多设计和自定义页面布局生成器可供选择,它们都有不同的特点和优缺点,最佳的选择取决于您的需求和偏好。以下是一些常用和受欢迎的 WordPress 页面布局生成器:
|
搜索推荐 前端开发 PHP
wordpress建站如何自定义404页面
当在 WordPress 上创建自定义 404 页面比以往任何时候都更简单时,不要用错误页面来烦扰您的用户。这里有一些不同的方法。
|
安全 数据安全/隐私保护
WordPress建站教程:默认WordPress登录入口和修改后台入口
​今天关注六翼开源的一个网友遇到一个问题没办法突破,他在安装WordPress之后不知道WordPress后台登录入口,无法进入后台管理网站和更新文章。下面北京六翼的开发工程师针对“默认WordPress登录入口和修改后台入口”的问题给大家做一下讲解。
WordPress建站教程:默认WordPress登录入口和修改后台入口
wordpress自定义主题
wordpress自定义主题 找到 themes文件夹,位置app\public\wp-content\themes 新建一个目录存放主题文件,目录结构如下: 这里我们的目录名是:fictional-university-theme 目录结构就是这样的: fictional-university-theme index.php style.css screenshot.png (放入一张自己的图,命名为screenshot.png) 在style.css中定义主题相关信息,如下
90 0
wordpress自定义主题
|
关系型数据库 MySQL Linux
CentOS7.2基于LAMP搭建WordPress,并自定义Logo和名称
CentOS7.2基于LAMP搭建WordPress,并自定义Logo和名称
724 0
CentOS7.2基于LAMP搭建WordPress,并自定义Logo和名称
|
数据库
wordpress修改后台站点地址后无法打开的解决办法
wordpress修改后台站点地址后无法打开的解决办法
139 0
wordpress修改后台站点地址后无法打开的解决办法
CDN
|
缓存 网络协议 前端开发
全面加速Wordpress站点:从文章页到管理后台
使用阿里云服务和几个插件,提高wordpress站点每个环节的访问速度。
CDN
781 0
全面加速Wordpress站点:从文章页到管理后台
|
新零售 数据可视化
一文说透WordPress的自定义文章类型
本文可能是关于WordPress自定义文章类型讲的最详细的文章了
2421 0
|
Web App开发 应用服务中间件 PHP
Wordpress中wp-admim管理后台(404)无法进入,无限循环跳出解决方法
两天没登博客,今天突然无法进入管理员界面了,通常都是在网站后缀加上/wp-admin进去,今天竟然出现了进不去的情况,具体网页上面显示: oldpan.me/login__trashed?redirect_to=https%3A%2F%2Foldpan.me%2Fwp-admin%2Findex.php 也就是无法找到该页面,通常来说就是404界面。
4390 0
如何关闭WordPress后台的主题、插件、版本更新通知?
由于WordPress 更新速度非常快,不论是主题 插件或是版本,每个月少说要执行个好几次,因为更新快,所以WordPress后台加入了更新通知,提醒使用者有新版本了,可以进行插件、主题或是系统更新,可是新版通常是解决旧版Bug,但很容易会产生一些未知Bug,如果你不想要冒这风险,通常可以等一个礼拜看看,没问题再行更新动作。
1016 0