之前在本站 DeveWork.com 分享了《移除 WordPress 后台插件管理的“编辑”与“停用”功能》的方法,禁止让特定的后台管理员使用其中的“编辑”与“停用”入口,最大限度地避免失误操作的影响。今天分享的同样是来自原代码作者的代码,这次实现的功能更绝——直接在WordPress 后台移除“外观-主题” 管理功能,就是让这个查看、更换主题的入口消失,够绝吧?
在主题的 functions.php 文件下加入以下代码:
//移除 WordPress 后台“外观-主题” 管理功能(管理员可用) devework.com add_action( 'admin_init', 'slt_lock_theme' ); function slt_lock_theme() { global $submenu, $userdata; get_currentuserinfo(); if ( $userdata->ID != 1 ) { unset( $submenu['themes.php'][5] ); unset( $submenu['themes.php'][15] ); } } |
---|
该代码来自于Steve Taylor,感谢原作者。
上诉代码的功能是通过判断用户id,如果用户id 不是 1(即不是管理员权限,用户 id=1 的就是管理员),那么就移除 WordPress 后台“外观-主题” 管理功能。针对多用户的WordPress 站点,其实这个功能非常有用,因为此类多用户站点一般都只设置一个管理员,多了也不是好事。
如果想让所有的用户都看不到“主题”的入口,代码可以这么写:
//移除 WordPress 后台“外观-主题” 管理功能 devework.com add_action( 'admin_init', 'dw_lock_theme'); function dw_lock_theme() { global $submenu; unset( $submenu['themes.php'][5] ); unset( $submenu['themes.php'][15] ); } |
---|
其实只是将前面的代码删除相关判断的代码。本代码由Jeff 参考前面代码写就,两段代码测试有效。
总体效果: