wemakecustom / wp-mu-loader
Enables the loading of Wordpress plugins sitting in mu-plugins (as folders)
Installs: 27 365
Dependents: 2
Suggesters: 0
Security: 0
Stars: 23
Watchers: 7
Forks: 9
Open Issues: 2
Type:wordpress-muplugin
pkg:composer/wemakecustom/wp-mu-loader
Requires
- composer/installers: ~1.0
Suggests
- wemakecustom/wp-mu-composer: Composer includer
This package is not auto-updated.
Last update: 2022-07-18 08:53:13 UTC
README
Builds a list of all plugins in the wp-content/mu-plugins folder and include them.
Uses the internal Wordpress function get_plugins for better compatibility.
In theory, any plugin could be included this way.
Sadly, get_mu_plugins does not have any hooks.
- Will clear cache when visiting the plugin page in /wp-admin/.
- Will also clear cache if a previously detected mu-plugin was deleted.
Installation
Composer
Add this to your composer.json:
{
"require": {
"wemakecustom/wp-mu-loader": "*"
}
}
Manual
Extract/clone this plugin in wp-content/mu-plugins/mu-loader/
IMPORTANT
Copy or symlink mu-require.php into wp-content/mu-plugins/
Usage
Create a plugin with this in your composer.json:
{
"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.
keywords and license are also optional but strongly suggested.
Extra notes
If like me, your wordpress installation is not at the root of your project, you may need to change the install path:
{
"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"]
}
}
}