也想出现在这里? 联系我们

WordPress后台删除无用的侧边栏菜单方法

作者 : 小编 本文共2710个字,预计阅读时间需要7分钟 发布时间: 2020-10-16 共1.41K人阅读
也想出现在这里? 联系我们

WordPress给不同角色用户定义了不同功能的使用权限,不同角色的用户后台所显示的侧边栏菜单也是不一样的,这时候就需要根据实际情况,把无用的侧边栏菜单删掉,小编为大家分享一下WordPress后台删除无用的侧边栏菜单方法。

具体实现办法是在当前主题的functions.php 第一个 <?php 后面添加以下代码:

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

}

自定义要去除的顶级菜单

以上代码核心部分是一个函数remove_menus(),然后通过WordPress的动作接口函数add_action来执行remove_menus函数。在remove_menus函数中,通过$restricted数组来定义需要删除哪些菜单项,以上$restricted数组提供了全部菜单项,也就是说如果你全部将以上代码不做修改地复制到functions.php,那你的WordPress后台就没有任何菜单了,你应该根据实际需要去除菜单,下面讲讲$restricted各个数组项对应的菜单:

__(‘Dashboard’) : 控制板菜单

__(‘Posts’) : 文章

__(‘Media’) : 媒体

__(‘Links’) : 链接

__(‘Pages’) : 页面

__(‘Comments’) : 评论

__(‘Appearance’) : 外观

__(‘Plugins’) : 插件

__(‘Users’) : 用户

__(‘Tools’) : 工具

__(‘Settings’) : 设置

例如你只想去除评论和工具菜单,你只需改写以上代码第3行的$restricted数组:

$restricted = array(__(‘Comments’), __(‘Tools’));

删除不必要的子菜单

WordPress后台的顶级菜单下面还有子菜单,当然有些子菜单是用不到的,我们也可以将其删除,WordPress 3.1以后的版本只需用到一个函数remove_submenu_page( $menu_slug, $submenu_slug ),这里有两个参数,$menu_slug是子菜单所在顶级菜单的缩略名,$submenu_slug为子菜单的缩略名,那如何获得这两个缩略名呢?例如,点击顶级菜单设置,链接地址类似:

http://example/wp-admin/options-general.php

那么顶级菜单设置的缩略名为options-general.php,也就是去除http://example/wp-admin/后剩下的东西,依次类推;接着点击顶级菜单设置下面的子菜单隐私,会打开以下网址:

http://example/wp-admin/options-privacy.php

那么子菜单隐私的缩略名为options-privacy.php,好了,就这么简单,下面是实现代码,:

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

}

根据用户角色去除菜单

如果你想按用户角色来去除相应的侧边栏菜单,那就再做一下用户等级的判断就可以了,给第11行的add_action添加判断,改写成:

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 之后将逐渐弃用用户数字等级,推荐使用户权限,可以用函数current_user_can()来判断用户权限。

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » WordPress后台删除无用的侧边栏菜单方法

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录