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

风抚弄着庄稼,时而把它吹弯,时而把它扬起,仿佛大地在进行有节奏的呼吸,那一档档成熟的小麦也都有了生命,风从那边来,传来麦穗与麦穗间的细语。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}

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() 里面填写的是插件的主文件目录,请根据自己的需求进行修改即可。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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');

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 行的用户名

到此这篇关于在WordPress插件管理界面隐藏已启用的插件就介绍到这了。如果你能勇敢承认自己的错误,那么你一定能从这个错误中获益。因为承认错误,不仅可以赢得别人的尊敬,更可增加你的自尊。更多相关在WordPress插件管理界面隐藏已启用的插件内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?

WordPress安装在主机空间的什么目录里面?根目录在哪里?