ingenyus/configure-environment-plugins

WordPress MU 插件,用于在特定环境中启用或禁用插件


README

Packagist

一个 WordPress MU 插件,允许根据当前环境启用或禁用插件。

它是为基于 Bedrock 或任何其他基于 Composer 的框架构建的网站而创建的。它完全通过定义环境详细信息进行配置,没有图形界面。列出的插件将在多站实例的网络中启用或禁用。

安装

使用 Composer 安装

composer require ingenyus/configure-environment-plugins

使用方法

将以下常量添加到您的 .env 文件中(或通过其他方式在您的托管环境中设置)。可以使用逗号分隔的字符串指定多个插件

DISABLED_PLUGINS='akismet/akismet.php, hello-dolly/hello-dolly.php'
ENABLED_PLUGINS='disable-emails/disable-emails.php'

将以下行添加到 config/application.php

if ( env('ENABLED_PLUGINS') ) {
    Config::define( 'ENABLED_PLUGINS', explode(',', env('ENABLED_PLUGINS')) );
}
if ( env('DISABLED_PLUGINS') ) {
    Config::define( 'DISABLED_PLUGINS', explode(',', env('DISABLED_PLUGINS')) );
}

钩子

该插件定义了四个您可以挂钩的操作

/**
 * Called after local plugins have been disabled
 *
 * @param string[] $disabled_plugins
 */
add_action( 'environment_plugins_after_disabling_local_plugins', function( $disabled_plugins ) { /* Do something */ } );

/**
 * Called after local plugins have been enabled
 *
 * @param string[] $enabled_plugins
 */
add_action( 'environment_plugins_after_enabling_local_plugins', function( $enabled_plugins ) { /* Do something */ } );

/**
 * Called after network plugins have been disabled
 *
 * @param string[] $disabled_plugins
 */
add_action( 'environment_plugins_after_disabling_network_plugins', function( $disabled_plugins ) { /* Do something */ } );

/**
 * Called after network plugins have been enabled
 *
 * @param string[] $enabled_plugins
 */
add_action( 'environment_plugins_after_enabling_network_plugins', function( $enabled_plugins ) { /* Do something */ } );