Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaemnnosttv/wp-plugin-activation-manifest
https://github.com/aaemnnosttv/wp-plugin-activation-manifest
Last synced: 12 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/aaemnnosttv/wp-plugin-activation-manifest
- Owner: aaemnnosttv
- License: gpl-2.0
- Created: 2017-04-17T17:57:42.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-02-12T14:12:41.000Z (almost 4 years ago)
- Last Synced: 2024-11-01T18:51:38.674Z (19 days ago)
- Language: PHP
- Size: 14.6 KB
- Stars: 11
- Watchers: 5
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```yml
# 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
```php
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!