WordPress不同角色的用户后台所看到侧边栏菜单项都是不一样的。这个时候需求又来了,有些时候即使是管理员,部分菜单也是用不到了,例如用 WordPress 来建一个企业介绍性的网站,该站点根本没有添加评论功能,那么侧边栏的评论菜单是用不着的,如果让企业用户看到,他们会感到很迷惑。所以最好的办法是,根据实际情况,把不该有的侧边栏管理菜单删掉。
1、删除不用的后台功能模块
function example_remove_dashboard_widgets() {// Globalize the metaboxes array, this holds all the widgets for wp-adminglobal $wp_meta_boxes;// 以下这一行代码将删除 "快速发布" 模块unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);// 以下这一行代码将删除 "引入链接" 模块unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);// 以下这一行代码将删除 "插件" 模块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_recent_drafts']);// 以下这一行代码将删除 "WordPress 开发日志" 模块unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);// 以下这一行代码将删除 "其它 WordPress 新闻" 模块unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);// 以下这一行代码将删除 "概况" 模块unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);}add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );function example_remove_dashboard_widgets() { // Globalize the metaboxes array, this holds all the widgets for wp-admin global $wp_meta_boxes; // 以下这一行代码将删除 "快速发布" 模块 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']); // 以下这一行代码将删除 "引入链接" 模块 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']); // 以下这一行代码将删除 "插件" 模块 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_recent_drafts']); // 以下这一行代码将删除 "WordPress 开发日志" 模块 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); // 以下这一行代码将删除 "其它 WordPress 新闻" 模块 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']); // 以下这一行代码将删除 "概况" 模块 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']); } add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );function example_remove_dashboard_widgets() { // Globalize the metaboxes array, this holds all the widgets for wp-admin global $wp_meta_boxes; // 以下这一行代码将删除 "快速发布" 模块 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']); // 以下这一行代码将删除 "引入链接" 模块 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']); // 以下这一行代码将删除 "插件" 模块 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_recent_drafts']); // 以下这一行代码将删除 "WordPress 开发日志" 模块 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); // 以下这一行代码将删除 "其它 WordPress 新闻" 模块 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']); // 以下这一行代码将删除 "概况" 模块 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']); } add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );
2、删除不用的菜单项
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(strpos($value[0], '<') === FALSE) {if(in_array($value[0] != NULL ? $value[0]:"" , $restricted)){unset($menu[key($menu)]);}}else {$value2 = explode('<', $value[0]);if(in_array($value2[0] != NULL ? $value2[0]:"" , $restricted)){unset($menu[key($menu)]);}}}}if (is_admin()){// 屏蔽左侧菜单add_action('admin_menu', '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(strpos($value[0], '<') === FALSE) { if(in_array($value[0] != NULL ? $value[0]:"" , $restricted)){ unset($menu[key($menu)]); } }else { $value2 = explode('<', $value[0]); if(in_array($value2[0] != NULL ? $value2[0]:"" , $restricted)){ unset($menu[key($menu)]); } } } } if (is_admin()){ // 屏蔽左侧菜单 add_action('admin_menu', '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(strpos($value[0], '<') === FALSE) { if(in_array($value[0] != NULL ? $value[0]:"" , $restricted)){ unset($menu[key($menu)]); } }else { $value2 = explode('<', $value[0]); if(in_array($value2[0] != NULL ? $value2[0]:"" , $restricted)){ unset($menu[key($menu)]); } } } } if (is_admin()){ // 屏蔽左侧菜单 add_action('admin_menu', 'remove_menus'); }
下面介绍一下以上第 4 行中数组的含义:
__(‘Dashboard’) : 控制板菜单
__(‘Posts’) : 文章
__(‘Media’) : 媒体
__(‘Links’) : 链接
__(‘Pages’) : 页面
__(‘Comments’) : 评论
__(‘Appearance’) : 外观
__(‘Plugins’) : 插件
__(‘Users’) : 用户
__(‘Tools’) : 工具
__(‘Settings’) : 设置
3、删除不用的主菜单下的子菜单项
function remove_submenu() {// 删除”设置”下面的子菜单”隐私”remove_submenu_page('options-general.php', 'options-privacy.php');// 删除”外观”下面的子菜单”编辑”remove_submenu_page('themes.php', 'theme-editor.php');}if (is_admin()){//删除子菜单add_action('admin_init','remove_submenu');}function remove_submenu() { // 删除”设置”下面的子菜单”隐私” remove_submenu_page('options-general.php', 'options-privacy.php'); // 删除”外观”下面的子菜单”编辑” remove_submenu_page('themes.php', 'theme-editor.php'); } if (is_admin()){ //删除子菜单 add_action('admin_init','remove_submenu'); }function remove_submenu() { // 删除”设置”下面的子菜单”隐私” remove_submenu_page('options-general.php', 'options-privacy.php'); // 删除”外观”下面的子菜单”编辑” remove_submenu_page('themes.php', 'theme-editor.php'); } if (is_admin()){ //删除子菜单 add_action('admin_init','remove_submenu'); }
4、删除后台顶部 LOGO 和页脚版权信息
//删除顶部LOGOfunction annointed_admin_bar_remove() {global $wp_admin_bar;/* Remove their stuff */$wp_admin_bar->remove_menu('wp-logo');}add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0);//删除页脚版权function change_footer_admin () {return '';}add_filter('admin_footer_text', 'change_footer_admin', 9999);function change_footer_version() {return '';}add_filter( 'update_footer', 'change_footer_version', 9999);//删除顶部LOGO function annointed_admin_bar_remove() { global $wp_admin_bar; /* Remove their stuff */ $wp_admin_bar->remove_menu('wp-logo'); } add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0); //删除页脚版权 function change_footer_admin () {return '';} add_filter('admin_footer_text', 'change_footer_admin', 9999); function change_footer_version() {return '';} add_filter( 'update_footer', 'change_footer_version', 9999);//删除顶部LOGO function annointed_admin_bar_remove() { global $wp_admin_bar; /* Remove their stuff */ $wp_admin_bar->remove_menu('wp-logo'); } add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0); //删除页脚版权 function change_footer_admin () {return '';} add_filter('admin_footer_text', 'change_footer_admin', 9999); function change_footer_version() {return '';} add_filter( 'update_footer', 'change_footer_version', 9999);
5、删除 wordpress 后台不需要的侧边栏菜单
要删除 wordpress 后台不需要的侧边栏菜单,以至根据用户级别权限显示不同的菜单,下面就做一下介绍根据用户角色去除菜单:
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');}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'); }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'); }
在 WordPress 后台 – 用户那里,管理员可以查看 / 编辑用户的角色,以下是用户角色和其等级的对应关系:
- 0 级对应 订阅者
- 1 级对应 投稿者
- 2 – 4 级对应 作者
- 5 – 7 级对应 编辑
- 8 – 10 级对应 管理员
WordPress 3.0 之后将逐渐弃用用户数字等级,推荐使用户权限,在数据库中,关于权限的字段位于数据库中 wp_usermeta 表中的 meta_value。可以用函数 current_user_can()来判断用户权限。
6、Wordpress 后台仪表盘添加自定义信息模块
打开你们 wordpress 主题的 functions.php 文件,将一下代码加入:
if ( ! function_exists( 'add_dashboard_widgets' ) ) :function welcome_dashboard_widget_function() {echo "<ul><li>这里填第一段内容;</li><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;if ( ! function_exists( 'add_dashboard_widgets' ) ) : function welcome_dashboard_widget_function() { echo "<ul><li>这里填第一段内容;</li><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;if ( ! function_exists( 'add_dashboard_widgets' ) ) : function welcome_dashboard_widget_function() { echo "<ul><li>这里填第一段内容;</li><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;
修改以上代码为自己的内容,再去仪表盘看看,是否多出了自定义的信息模块出现了!
其它配置
/去除后台没必要的功能function disable_dashboard_widgets() {remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');//近期评论remove_meta_box('dashboard_recent_drafts', 'dashboard', 'normal');//近期草稿remove_meta_box('dashboard_primary', 'dashboard', 'core');//wordpress博客remove_meta_box('dashboard_secondary', 'dashboard', 'core');//wordpress其它新闻remove_meta_box('dashboard_right_now', 'dashboard', 'core');//wordpress概况remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');//wordresss链入链接remove_meta_box('dashboard_plugins', 'dashboard', 'core');//wordpress链入插件remove_meta_box('dashboard_quick_press', 'dashboard', 'core');//wordpress快速发布}add_action('admin_menu', 'disable_dashboard_widgets');//移除 WordPress 加载的JS和CSS链接中的版本号function wpdaxue_remove_cssjs_ver( $src ) {if( strpos( $src, 'ver=' ) )$src = remove_query_arg( 'ver', $src );return $src;}add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );//移除自动保存wp_deregister_script('autosave');//移除修订版本remove_action('post_updated','wp_save_post_revision' );//后台禁用Google Open Sans字体,加速网站add_filter( 'gettext_with_context', 'wpdx_disable_open_sans', 888, 4 );function wpdx_disable_open_sans( $translations, $text, $context, $domain ) {if ( 'Open Sans font: on or off' == $context && 'on' == $text ) {$translations = 'off';}return $translations;}/去除后台没必要的功能 function disable_dashboard_widgets() { remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');//近期评论 remove_meta_box('dashboard_recent_drafts', 'dashboard', 'normal');//近期草稿 remove_meta_box('dashboard_primary', 'dashboard', 'core');//wordpress博客 remove_meta_box('dashboard_secondary', 'dashboard', 'core');//wordpress其它新闻 remove_meta_box('dashboard_right_now', 'dashboard', 'core');//wordpress概况 remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');//wordresss链入链接 remove_meta_box('dashboard_plugins', 'dashboard', 'core');//wordpress链入插件 remove_meta_box('dashboard_quick_press', 'dashboard', 'core');//wordpress快速发布 } add_action('admin_menu', 'disable_dashboard_widgets'); //移除 WordPress 加载的JS和CSS链接中的版本号 function wpdaxue_remove_cssjs_ver( $src ) { if( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 ); add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 ); //移除自动保存 wp_deregister_script('autosave'); //移除修订版本 remove_action('post_updated','wp_save_post_revision' ); //后台禁用Google Open Sans字体,加速网站 add_filter( 'gettext_with_context', 'wpdx_disable_open_sans', 888, 4 ); function wpdx_disable_open_sans( $translations, $text, $context, $domain ) { if ( 'Open Sans font: on or off' == $context && 'on' == $text ) { $translations = 'off'; }return $translations; }/去除后台没必要的功能 function disable_dashboard_widgets() { remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');//近期评论 remove_meta_box('dashboard_recent_drafts', 'dashboard', 'normal');//近期草稿 remove_meta_box('dashboard_primary', 'dashboard', 'core');//wordpress博客 remove_meta_box('dashboard_secondary', 'dashboard', 'core');//wordpress其它新闻 remove_meta_box('dashboard_right_now', 'dashboard', 'core');//wordpress概况 remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');//wordresss链入链接 remove_meta_box('dashboard_plugins', 'dashboard', 'core');//wordpress链入插件 remove_meta_box('dashboard_quick_press', 'dashboard', 'core');//wordpress快速发布 } add_action('admin_menu', 'disable_dashboard_widgets'); //移除 WordPress 加载的JS和CSS链接中的版本号 function wpdaxue_remove_cssjs_ver( $src ) { if( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 ); add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 ); //移除自动保存 wp_deregister_script('autosave'); //移除修订版本 remove_action('post_updated','wp_save_post_revision' ); //后台禁用Google Open Sans字体,加速网站 add_filter( 'gettext_with_context', 'wpdx_disable_open_sans', 888, 4 ); function wpdx_disable_open_sans( $translations, $text, $context, $domain ) { if ( 'Open Sans font: on or off' == $context && 'on' == $text ) { $translations = 'off'; }return $translations; }
暂无评论内容