Skip to content

Disable certain plugins in non-production environments using PHP constants.

Notifications You must be signed in to change notification settings

lukasbesch/bedrock-plugin-disabler

Repository files navigation

Bedrock Plugin Disabler

Packagist Supported PHP Versions GitHub Repository Size Build Status Downloads

Define an array of plugins that deactivate automatically in certain environments (e.g. caching plugins in development).

Inspired by this blog post by Kamil Grzegorczyk. Uses a fork of the DisablePlugins class written by Mark Jaquith.

Installation

This plugin is designed to work with Bedrock based sites, and will not work with a Standard WordPress installation.

$ composer require lukasbesch/bedrock-plugin-disabler

It will be installed as a wordpress-muplugin.
If you try to activate it as a regular plugin, the plugin will deactivate itself with a notice.

Manual Installation (not recommended)

Download the latest release and place it in your web/app/mu-plugins folder.

Usage

Define the constant DISABLED_PLUGINS with an array of the plugins main files you want to deactivate in your preferred environment configuration, for example config/environments/development.php:

Config::define('DISABLED_PLUGINS', [
    'autoptimize/autoptimize.php',
    'updraftplus/updraftplus.php',
    'wp-super-cache/wp-cache.php',
    'w3-total-cache/w3-total-cache.php',
]);

If you have an older Bedrock installation (< 1.9.0) you have to define the constant using the regular define() function:

if (! defined('DISABLED_PLUGINS')
    define('DISABLED_PLUGINS', [
        'autoptimize/autoptimize.php',
    ]);
}

PHP 5.6+ can store arrays in constants, but you can also provide serialized data:

Config::define('DISABLED_PLUGINS', serialize([
    'autoptimize/autoptimize.php',
]));

About

Disable certain plugins in non-production environments using PHP constants.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages