Wordpress Must-Use plugins loader
Builds a list of all plugins in the wp-content/mu-plugins
folder and include them., (*1)
Uses the internal Wordpress function get_plugins
for better compatibility.
In theory, any plugin could be included this way., (*2)
Sadly, get_mu_plugins
does not have any hooks., (*3)
- Will clear cache when visiting the plugin page in /wp-admin/.
- Will also clear cache if a previously detected mu-plugin was deleted.
Original idea, (*4)
Blog post, (*5)
Installation
Composer
Add this to your composer.json
:, (*6)
{
"require": {
"wemakecustom/wp-mu-loader": "*"
}
}
Manual
Extract/clone this plugin in wp-content/mu-plugins/mu-loader/
, (*7)
IMPORTANT
Copy or symlink mu-require.php
into wp-content/mu-plugins/
, (*8)
Usage
Create a plugin with this in your composer.json
:, (*9)
{
"name": "my-vendor/my-plugin",
"type": "wordpress-muplugin",
"keywords": ["wordpress","plugins"],
"license": "GPL-2.0",
"require": {
"composer/installers": "~1.0"
},
"extra": {
"installer-name": "my-plugin"
}
}
The extra.installer-name
is optional, it is to give a custom folder name in case your plugin is actually declared as my-vendor/wp-mu-my-plugin
like this one., (*10)
keywords
and license
are also optional but strongly suggested., (*11)
If like me, your wordpress installation is not at the root of your project, you may need to change the install path:, (*12)
{
"extra": {
"installer-paths": {
"htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
"htdocs/wp-content/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
"htdocs/wp-content/themes/{$name}/": ["type:wordpress-theme"]
}
}
}