Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src update manifest loading to use parseFile Oct 10, 2018
.gitignore ignore Oct 10, 2018
README.md Update README.md Jul 27, 2016
composer.json require symfony/yaml 3.4+ Oct 10, 2018

README.md

WP Plugin Activation Manifest

Lock down the activation state of individual plugins based on environment with minimal effort.

Usage

Create a YAML file that defines the plugin activation state you want to enforce. Name it whatever you wish and put it wherever you want (ideally outside of the webroot). Add this file to your project's repository.

Example manifest file:

# top level keys are the environment
some_environment:
  enable:
    - someplugin/someplugin.php
  disable:
    - someotherplugin/someotherplugin.php
  # supports multisite
  network-enable:
    - someplugin/someplugin.php
  network-disable:
    - someplugin/someplugin.php

# 'global' is a special key that you can use to apply to all environments
global:
  enable:
    - woocommerce/woocommerce.php
    - wpmandrill/wpmandrill.php
    
development:
  disable:
    - wpmandrill/wpmandrill.php
    

Install composer require primetime/wp-plugin-activation-manifest

Execute the mandate

require('vendor/autoload.php');
// ...
// after WordPress is loaded - eg: within an mu-plugin
// ..
\PrimeTime\WordPress\PluginManifest\Activation::set('path/to/plugin-manifest.yml', getenv('WP_ENV'));

In the example above, WP_ENV is an environment variable defining the name of the environment (eg: development, staging, production). This environment name should match to a top-level key in the yaml file.

Environment configuration is applied after the global configuration and will take precedence over it.

That's it!

You can’t perform that action at this time.