functions自定义wordpress仪表盘

仪表盘是我们登陆WordPress后台界面,如WordPress China博客消息,及其他关于WordPress的RSS信息。

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

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

//去除控制台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
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
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);

//删除顶级菜单
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');
}

//删除子菜单
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');


//根据角色设定菜单可见性
function remove_menus1() {
    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_submenu2() {
    remove_submenu_page( 'options-general.php', 'options-privacy.php' );
}
global $current_user;
get_currentuserinfo();
if ($current_user->user_level < 3 && is_admin()) {
    //如果当前用户的等级小于3,那么就删除对应的菜单
    //0级订阅者;1级投稿者;2–4级对应作者;5–7级对应编辑;8–10级对应管理员
    add_action('admin_menu', 'remove_menus1');
    add_action('admin_init','remove_submenu2');
}


//修改后台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
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');


//隐藏版本更新
add_filter( 'pre_site_transient_update_core', create_function('$a', "return null;"));


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

//修改页脚信息
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');


//去除编辑页面媒体上传按钮
function remove_all_media_buttons(){
    remove_all_actions('media_buttons');
}
add_action('admin_init', 'remove_all_media_buttons');


//隐藏管理后台帮助按钮和版本更新提示
function hide_help(){
    echo'<style type="text/css">#contextual-help-link-wrap { display: none !important; } .update-nag{ display: none !important; } #footer-
自定义wordpress仪表盘

仪表盘是我们登陆WordPress后台界面,如WordPress China博客消息,及其他关于WordPress的RSS信息。
通过定制WordPress的管理后台,简化后台界面,去除冗余信息和代码。

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

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

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冗余代码
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');


//更改角色名称
function wpapi_change_role_name(){
    /**
    global $wp_roles;
    if(!isset($wp_roles)){
        $wp_roles = new WP_Roles()
    }
    //Owner 更改为显示名称
    //administrator 更改为用户角色,例如 editor/author/contributor/subscriber
    $wp_roles->roles['administrator']['name'] = '管理员';
    $wp_roles->role_names['administrator'] = '超级版主';           
    **/
}
#add_action('init', 'wpapi_change_role_name');

 

posted @ 2018-12-13 14:48  chengdex  阅读(714)  评论(1编辑  收藏  举报