PHPackages                             danielgroen/mu-plugin-installer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. danielgroen/mu-plugin-installer

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

danielgroen/mu-plugin-installer
===============================

A Composer Installer for WordPress MU plugins

031PHP

Since May 22Pushed 2y ago1 watchersCompare

[ Source](https://github.com/danielgroen/mu-plugin-installer)[ Packagist](https://packagist.org/packages/danielgroen/mu-plugin-installer)[ RSS](/packages/danielgroen-mu-plugin-installer/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (2)Used By (0)

A Composer Installer for WordPress MU Plugins
=============================================

[](#a-composer-installer-for-wordpress-mu-plugins)

[![Latest Stable Version](https://camo.githubusercontent.com/f8624c55ad76ebbefda8c548f2f7437c948f9510dc72a4259c25f14c0b413198/68747470733a2f2f706f7365722e707567782e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f762f737461626c65)](https://packagist.org/packages/devaloka/mu-plugin-installer)[![Latest Unstable Version](https://camo.githubusercontent.com/9e5308c90c2cd679f3e24df6af9641f8beb08c941a71df695a606342c482c639/68747470733a2f2f706f7365722e707567782e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f762f756e737461626c65)](https://packagist.org/packages/devaloka/mu-plugin-installer)[![License](https://camo.githubusercontent.com/f13bf3563dd44dc0baa47c3bbb90848da129bc0fc4784f793544e4ed3affec0c/68747470733a2f2f706f7365722e707567782e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f6c6963656e7365)](https://packagist.org/packages/devaloka/mu-plugin-installer)[![Build Status](https://camo.githubusercontent.com/03ada7aa65373180acc35deaa08b384e4f9dd421bb0e73889b900aae56ed2fce/68747470733a2f2f7472617669732d63692e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/devaloka/mu-plugin-installer)[![Coverage Status](https://camo.githubusercontent.com/bc801a1925e49a4ade7b6a4841242b9bf8eb5e9d4843df9d5bb0a30277a70a70/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/devaloka/mu-plugin-installer?branch=master)

This is a Composer Installer for WordPress MU Plugins.

The Installer is basically based on/compatible with [A Multi-Framework Composer Library Installer](https://github.com/composer/installers)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
-------

[](#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)
----------------------------------------------------

[](#example-composerjson-file-for-mu-plugin-package)

`composer.json` becomes almost the same as [A Multi-Framework Composer Library Installer](https://github.com/composer/installers)'s.

### Package Type and Dependency (`type` and `require`)

[](#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`)

[](#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](https://github.com/devaloka/devaloka/blob/master/composer.json) example.

Example `composer.json` File (for root package)
-----------------------------------------------

[](#example-composerjson-file-for-root-package)

The root package means your project's `composer.json`.

### Custom Loader Path (`installer-loader-paths`)

[](#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](https://github.com/composer/installers)'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.

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0734332b12684107d0d26771bbf54ef6107d358790ef07018080a54e2d1e1e99?d=identicon)[danielgroen](/maintainers/danielgroen)

### Embed Badge

![Health badge](/badges/danielgroen-mu-plugin-installer/health.svg)

```
[![Health](https://phpackages.com/badges/danielgroen-mu-plugin-installer/health.svg)](https://phpackages.com/packages/danielgroen-mu-plugin-installer)
```

###  Alternatives

[verbb/many-to-many

A field type to manage relationships from both sides.

8112.0k](/packages/verbb-many-to-many)[teewurst/psr4-advanced-wildcard-composer-plugin

Adds a parser to enable composer, to be used with wildcards

1028.0k](/packages/teewurst-psr4-advanced-wildcard-composer-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
