如何从插件列表中隐藏 WordPress 插件

我近在一个客户网站上工作,这需要我为他的网站创建一个自定义插件。我想向用户隐藏 WordPress 插件,因为他是初学者,并且该插件包含一些运行他的网站的敏感功能。有时,当您的客户雇用您做WordPress技术维护,并且该工作只需要您安装插件时,您可能希望从插件列表中隐藏该插件。您不希望您的客户看到您仅向他/她收取安装插件的费用。

在本教程中,我将向您展示如何轻松地从插件列表中隐藏 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替换为您的插件的目录和文件名。您可以通过单击插件列表中的编辑插件链接来找到此信息。

如果您想从 WordPress 多站点隐藏该插件,那么上面的代码片段不会从网络管理列表中删除该插件。这是适用于 WordPress 多站点的代码片段

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

    // let's hide Elementor Proif( in_array( 'elementor-pro/elementor-pro.php', array_keys( $plugins ) ) ) {    unset( $plugins['elementor-pro/elementor-pro.php'] );}return $plugins;
}

add_filter( 'all_plugins', 'mu_hide_plugins_network' );

我以 Akismet 、Elementor Pro为例。您必须将akismet/akismet.phpelementor-pro/elementor-pro.php替换为您要隐藏的插件的目录和文件名。

滚动至顶部