服务器与VPS
促销优惠信息

wordpress精简优化之删除后台侧边栏菜单的代码

查看目录
文章目录隐藏
  1. 1、删除wordpress后台模块:
  2. 2、删除wordpress后台菜单(不用的):
  3. 3、删除不用的主菜单下的子菜单项:
  4. 4、删除wordpress后台 LOGO 和页脚版权信息:
  5. 6、Wordpress 后台仪表盘添加自定义模块
  6. 7、删除后台其他不需要的功能

WordPress不同角色的用户后台所看到侧边栏菜单项都是不一样的。这个时候需求又来了,有些时候即使是管理员,部分菜单也是用不到了,例如用 WordPress 来建一个企业介绍性的网站,该站点根本没有添加评论功能,那么侧边栏的评论菜单是用不着的,如果让企业用户看到,他们会感到很迷惑。所以最好的办法是,根据实际情况,把不该有的侧边栏管理菜单删掉。

wordpress精简优化之删除后台侧边栏菜单的代码

wordpress

1、删除wordpress后台模块:

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、删除wordpress后台菜单(不用的):

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

4、删除wordpress后台 LOGO 和页脚版权信息:

//删除顶部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');
}
在 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;

或者:

function custom_dashboard_help() {
echo '这里填使用说明的内容,可填写HTML代码';
}
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('custom_help_widget', '这里替换成面板标题', 'custom_dashboard_help');
}
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

修改以上代码为自己的内容,再去仪表盘看看,是否多出了自定义的信息模块出现了!

7、删除后台其他不需要的功能

/去除后台没必要的功能 
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; 
}

原文链接:https://blog.csdn.net/cnpinpai/article/details/128535410/

楚狂人 » wordpress精简优化之删除后台侧边栏菜单的代码

相关推荐

  • 暂无文章

评论 抢沙发

  • (必填)
  • (必填)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏