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

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

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

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

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)][]);
if(in_array($value[] != NULL?$value[]:"" , $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'][]); // Removes 'Updates'.
unset($submenu['themes.php'][]); // Removes 'Themes'.
unset($submenu['options-general.php'][]); // Removes 'Writing'.
unset($submenu['options-general.php'][]); // Removes 'Discussion'.
unset($submenu['edit.php'][]); // 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)][]);
if(in_array($value[] != NULL?$value[]:"" , $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 < && 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', );
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', , );
remove_action('wp_head', 'wp_generator');
 

黄聪:定制化WordPress后台自定义仪表盘的更多相关文章

  1. 黄聪:在WordPress后台文章编辑器的上方或下方添加提示内容

    WordPress 3.5 新增了一对非常有用的挂钩,可以快速在WordPress后台文章编辑器的上方或下方添加提示内容,下面是一个简单的例子,直接将代码添加到主题的 functions.php 文件 ...

  2. 黄聪:走进wordpress 详细说说template-loader.php

    再看template-laoder.php,这个文件总共只有45行.它的作用是基于访问的URL装载正确的模板. 文件第六行,也是第一条语句,如下: if ( defined('WP_USE_THEME ...

  3. [wordpress]后台自定义菜单字段和使用wordpress color picker

    Wordpress Version 4.4.2 参考链接 插件使用wordpress color picker:Add A New Color Picker To WordPress 后台菜单自定义字 ...

  4. 黄聪:实用WordPress SQL查询方法

    为所有文章和页面添加自定义字段 这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段. 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把 ...

  5. 黄聪:使用WORDPRESS自带AJAX方法

    例如给网站每页logo后面的一句名言,点击“换一条”就会ajax动态加载一条,使用了wordpress的自带ajax方法.下面介绍如何使用wordpress自带ajax方法: 1.在header.ph ...

  6. 黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)

    如果你的WordPress主题要提交到WordPress官方主题库,使用者来自世界各地的多种语言,那么,你就要让你的WordPress主题支持语言本地化,方便使用者进行语言翻译和制作语言包. 让Wor ...

  7. 黄聪:走进wordpress do_action函数

    再看do_action函数.位于plugin.php352行.我把源码放在西街口这里,略去了其它辅助处理的语句. 如下: function do_action($tag, $arg = '') {   ...

  8. 黄聪:禁止wordpress版本自动升级的解决方案

    在WordPress配置文件中找到wp-config.php,添加如下常量 define( 'AUTOMATIC_UPDATER_DISABLED', true );

  9. cobbler重装、web、定制化

    cobbler重装 根据此文已自动化安装centos 7的版本http://www.cnblogs.com/shhnwangjian/p/5858900.html 在cobbler-test主机上重装 ...

随机推荐

  1. JDK 1.8 ConcurrentHashMap 源码剖析

    转载两篇不错的文章: 第一篇: 前言 HashMap是我们平时开发过程中用的比较多的集合,但它是非线程安全的,在涉及到多线程并发的情况,进行put操作有可能会引起死循环,导致CPU利用率接近100%. ...

  2. POJ 1170 Shopping Offers(完全背包+哈希)

    http://poj.org/problem?id=1170 题意:有n种花的数量和价格,以及m种套餐买法(套餐会便宜些),问最少要花多少钱. 思路:题目是完全背包,但这道题目不好处理的是套餐的状态, ...

  3. Gym 101246J Buoys(三分查找)

    http://codeforces.com/gym/101246/problem/J 题意: 给定x轴上的n个点的坐标,按顺序从左到右给出,现在要使得每个点的间距相同,可以移动每个点的坐标,但是不能改 ...

  4. linux 系统忘记登录密码

    linux6/6.5再启动时,按e ->在输入行最后面 输入空格 再输入single ->启动设置密码即可 单用户模式 在centos7需要 按e -> 然后滚动列表,找到ro(ro ...

  5. HTML和CSS美化 登入框的页面

    <div id="leftbody"> <p class="p0">如果您感觉您的网站够炫美可以提交给我们!</p> < ...

  6. python之urllib2简单解析HTML页面之篇一

    一.urllib2简单获取html页面 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib2 response = urllib2.u ...

  7. python文件操作的坑( FileNotFoundError: [Errno 2] No such file or directory...)

    环境:Windows8.1, Python3.6  pycharm community 2017   c盘下有一个配置文件:setup   with open('c:\\setup','r') as ...

  8. C++ 中的关于输出的设置于

    ▲setw(n)用法: 通俗地讲就是预设宽度 如 cout<<setw(5)<<255<<endl; 结果是: (空格)(空格)255 ▲setfill(char ...

  9. 中国铁路基于Intel架构超大规模OpenStack行业云的性能优化研究

    1. 项目简介 铁路作为一种大众化的交通工具和非常重要的货物运输方式,其业务规模庞大.覆盖全国.服务全国各族人民.铁路面向公众提供的服务业务,主要是客运和货运两大类,且每年365天.每天7*24小时连 ...

  10. 《WAP》第一次作业:团队亮相

    一.队名:WAP! 二.团队成员组长 组员 : 201571030302/杜有海 201571030327/乌勒扎 201571030304/郝明宇 201571030318/马麒 组长: 20157 ...