自定义 WordPress 后台菜单仪表盘 Widget - 文章教程

自定义 WordPress 后台菜单仪表盘 Widget

发布于 2019-04-23 字数 6303 浏览 2002 评论 0

WordPress 的可定制性还是很高的,只要我们能给后台添加样式、页面,你要的效果基本都能够实现,这篇文章将给大家分享一些功能自定义的方法,包括仪表盘添加和删除 Widget、后台菜单的删除、小工具 Widgets 等。

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

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_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 图标

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;" ) );

修改页脚信息

function modify_footer_admin () {
  echo 'Created by <a target="_blank" class="external-link" href="http://www.wenjaings.com">wenjaings</a>.';
  echo 'Powered by<a target="_blank" class="external-link" href="http://WordPress.org">WordPress</a>.';
}
add_filter('admin_footer_text', 'modify_footer_admin');

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

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');

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

猫性小仙女

文章 1 评论 0

qq_VO6LhT

文章 0 评论 0

猿舌电影

文章 0 评论 0

7556275422

文章 0 评论 0

YYQ_139

文章 0 评论 0