devaloka / mu-plugin-installer
A Composer Installer for WordPress MU plugins
Installs: 8 364
Dependents: 10
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 1
Type:composer-plugin
Requires
- php: >=5.3.2
- composer-plugin-api: ~1.1.0
Requires (Dev)
- composer/composer: 1.1.*@dev
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^4.8 || ^5.4
- satooshi/php-coveralls: ^1.0.1
- squizlabs/php_codesniffer: ^2.6.1
This package is auto-updated.
Last update: 2024-10-29 03:58:47 UTC
README
This is a Composer Installer for WordPress MU Plugins.
The Installer is basically based on/compatible with A Multi-Framework Composer Library Installer but it also supports the loader script installation of your MU plugin.
The loader script is installed into mu-plugins
directory by default so that
you can provide your MU plugin including sub directory as a Composer package.
Example
A package:
-
your-package-root
-
mu-plugins/ (loader directory:
mu-plugins
by default)- your-plugin.php (loader script: same as your package name by default)
-
foo/
- bar.php
-
baz.php
-
will be installed as:
-
wp-content/mu-plugins/
-
your-plugin.php (loader script)
-
your-plugin/ (same as your package name by default)
-
mu-plugins/ (original loader directory remains)
- your-plugin.php (original loader script remains)
-
foo/
- bar.php
-
baz.php
-
-
Example composer.json
File (for MU plugin package)
composer.json
becomes almost the same as A Multi-Framework Composer Library Installer's.
Package Type and Dependency (type
and require
)
{ "name": "you/your-plugin-name", "type": "devaloka-muplugin", "require": { "devaloka/mu-plugin-installer": "~0.2.0" } }
Custom Loader File (installer-loader
)
installer-loader
key is available for your custom loader file, which is the
relative path from your package root.
{ "extra": { "installer-loader": "loader/your-loader.php" } }
You can check out a real world composer.json example.
Example composer.json
File (for root package)
The root package means your project's composer.json
.
Custom Loader Path (installer-loader-paths
)
installer-loader-paths
key is available for your custom install path for
loader(s).
This is almost the same as as A Multi-Framework Composer Library Installer's installer-paths
but it is for the loader file.
{ "extra": { "installer-loader-paths": { "your-custom-path/{$name}/": ["vendor/package"] } } }
With a type:
prefix:
{ "extra": { "installer-loader-paths": { "your-custom-path/{$name}/": ["type:devaloka-muplugin"] } } }
{$vendor}
, {$name}
and {$type}
variables are available.
In addition, {$loader}
variable is available, which is the relative path
to the loader file.