当前位置:首页>WordPress建站>后台定制>在WordPress插件管理界面隐藏已启用的插件

在WordPress插件管理界面隐藏已启用的插件

对于开放注册的WordPress站点,如果你不希望其他用户在插件管理页面查看和禁用站点必要的插件,除了使用 WordPress用户角色编辑插件:User Role Editor 来分配用户权限以外,你还可以将隐藏已启用的插件(插件依旧正常运行,只是在插件管理界面看不到罢了),将下面的代码添加到主题的 functions.php 文件即可:

add_filter( 'all_plugins', 'hide_plugins');
function hide_plugins($plugins)
{
	// 隐藏 你好,多莉 插件
	if(is_plugin_active('hello.php')) {
		unset( $plugins['hello.php'] );
	}
	// 隐藏 post series插件
	if(is_plugin_active('simple-post-series/series.php')) {
		unset( $plugins['simple-post-series/series.php'] );
	}
	return $plugins;
}

这个例子中,我们隐藏的是 你好,多莉 和 Simple Post Series 这两个插件, is_plugin_active() 和 unset() 里面填写的是插件的主文件目录,请根据自己的需求进行修改即可。

以上例子是对任何用户(包括网站管理员)都隐藏了已启用的插件,如果你需要排除某个用户,可以参考下面的另一种写法:

function filter_visible_plugins($plugins) {
    //添加插件的相对于 /wp-content/plugins/ 的路径
    $pluginsToHide = array(
        'akismet/akismet.php',
        'hidden-plugin/hidden-plugin.php',
        'another-plugin/filename.php',
    );
 
    //在这个例子中,我们对所有用户隐藏插件,除了用户 smith 
    $currentUser = wp_get_current_user();
    $shouldHide = $currentUser->get('user_login') != 'smith';
 
    if ( $shouldHide ) {
        foreach($pluginsToHide as $pluginFile) {
            unset($plugins[$pluginFile]);
        }
    }
 
    return $plugins;
}
add_filter('all_plugins', 'filter_visible_plugins');

请根据自己的需要,修改第 3 行下面的插件主文件目录,以及 11 行的用户名

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
后台定制

在后台页面管理列表中隐藏特定的页面

2013-5-25 8:08:33

后台定制

修改/禁用WordPress登录错误的提示信息

2013-5-27 8:09:22

6 条回复 A文章作者 M管理员
  1. carl777

    你好 既然都说到 插件管理界面隐藏启用插件了, 能不能 说一下 怎么在仪表盘 侧边栏菜单 隐藏 一些显示的插件呢

  2. carterlou

    如果只是隐藏后台侧边新创建的菜单呢?例如插件设置菜单、主题设置菜单。

  3. 职涯宝

    这个代码怎么不好使啊 我设置了没反应

    • 倡萌

      为了验证你的反馈,我专门去测试了上面给出的两个代码,都是完全可用的。
      你必须确保填写的插件文件夹和主文件名都是完全正确的。并且要隐藏的插件是启用状态下的。

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索