移除 WordPress 后台“外观-主题” 管理功能

之前在本站 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 参考前面代码写就,两段代码测试有效。

总体效果:

评分:
4.75 avg. rating (86% score) - 4 votes
云左主机 广告
发表评论