wemakecustom/wp-mu-loader

Enables the loading of Wordpress plugins sitting in mu-plugins (as folders)

Installs: 1 106

Dependents: 1

Stars: 6

Watchers: 3

Forks: 3

Open Issues: 2

Language: PHP

v1.0.2 2015-01-21 14:32 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.

Original idea

Blog post

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"]
        }
    }
}