如果不想让其他登录的用户看到已安装的某个插件,本文的方法将轻松地隐藏一个WordPress插件,而不影响插件正常工作,只是不会出现在插件列表中。
将下面的代码添加到当前主题functions.php文件中:


function hide_plugin_trickspanda() {
  global $wp_list_table;
  $hidearr = array('plugin-directory/plugin-file.php');
  $myplugins = $wp_list_table->items;
  foreach ($myplugins as $key => $val) {
    if (in_array($key,$hidearr)) {
      unset($wp_list_table->items[$key]);
    }
  }
}
add_action('pre_current_active_plugins', 'hide_plugin_trickspanda');

修改其中的plugin-directory/plugin-file.php为准备隐藏的插件目录和文件名即可。
隐藏多个插件可以这么写:


array('wp-postviews/wp-postviews.php','akismet/akismet.php');

如果是多站点可以使用下面的代码:


function mu_hide_plugins_network( $plugins ) {
    // let's hide akismet
    if( in_array( 'akismet/akismet.php', array_keys( $plugins ) ) ) {
        unset( $plugins['akismet/akismet.php'] );
    }
    return $plugins;
}
add_filter( 'all_plugins', 'mu_hide_plugins_network' );