WordPress 隐藏特定插件的更新提示
- Wordpress
- 2022-01-09
- 98热度
- 0评论
当某个托管于 WordPress 官方的插件有更新版本时,我们一般都可以在后台看到更新提示。不少朋友出于兼容性考虑,不希望更新插件,当然,也不想总看到更新提示。如果要禁用所有插件的更新提示,大家可以试试 隐藏 WordPress 核心/主题/插件更新提示,如果只想隐藏某个特定插件的更新提示,可以按照下面的方法实现。
将下面的代码添加到当前主题的 functions.php 即可:
/** * WordPress 隐藏特定插件的更新提示 * 注意修改代码第2行的插件主文件地址 */ function filter_plugin_updates( $value ) { unset( $value->response['plugin-directory/plugin-file.php'] ); return $value; } add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
注:请根据实际情况,修改代码第 2行的 plugin-directory/plugin-file.php 为插件主文件的真实目录(也就是包含了插件名称和版本注释的那个文件的目录)
你还可以试试 在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 行的用户名