Making a plugin "Suite"?

时间:2015-09-28 作者:Josh Riser

我已经在WordPress工作流中找到了一系列插件,这些插件对于我制作的所有主题来说都是非常标准的。问题是,我讨厌看到一长串马上安装的插件。

是否有一种方法可以将这些插件组合在一起,使它们在已安装插件列表中只显示1个,但仍然将它们都作为单独的目录,并且仍然进行更新检查,等等。?

1 个回复
最合适的回答,由SO网友:matthew 整理而成

据我所知,没有办法将插件“分组”到一个插件中。不过,有一种方法可以隐藏插件。

只需将以下代码片段添加到当前主题的函数中即可。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\');
替换插件目录/插件文件。上面的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\'] );
    }
    return $plugins;
}

add_filter( \'all_plugins\', \'mu_hide_plugins_network\' );
还有一个插件可以隐藏插件。Hide Plugins 这是它的名字。

您还可以创建一个mu插件(必须使用插件)。有几个注意事项:MU插件不能通过管理员升级,所以如果你想更新WP的新版本,你(或者他们,如果他们有技能的话)每次都必须通过FTP。因为这些插件总是打开的,所以一定要彻底测试!您可以在Codex.

如果有帮助,请告诉我。