ingenyus / configure-environment-plugins
WordPress MU 插件,用于在特定环境中启用或禁用插件
2.0.0
2024-03-23 21:56 UTC
Requires
- composer/installers: ^2.0
This package is auto-updated.
Last update: 2024-09-25 09:30:04 UTC
README
一个 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 */ } );