PHPackages                             creode/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. creode/mu-plugin-installer

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

creode/mu-plugin-installer
==========================

Facilitates WordPress MU-Plugin installation and separates them into different files.

1.2.0(9mo ago)0591↓33.3%[1 issues](https://github.com/creode/mu-plugin-installer/issues)2PHP

Since Aug 1Pushed 1mo agoCompare

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

READMEChangelog (4)Dependencies (3)Versions (5)Used By (2)

MU Plugin Installer
===================

[](#mu-plugin-installer)

This is a Composer plugin that installs mu plugins into the `wp-content/mu-plugins` directory. This differs from other solutions as each mu-plugin has it's own dedicated entrypoint file. This means that mu-plugins screen in WordPress has a more accurate representation of which plugins are installed and at what version they are running.

Installation
------------

[](#installation)

You can install this package as part of your mu-plugin's `composer.json` file.

```
composer require creode/mu-plugin-installer
```

Usage
-----

[](#usage)

Add the following to your `composer.json` file of your mu-plugin:

```
{
    "extra": {
        "wordpress-muplugin-entry": "{an-entrypoint-file-name}.php"
    }
}
```

Supported Package Types
-----------------------

[](#supported-package-types)

- `wordpress-muplugin`

Available Placeholders
----------------------

[](#available-placeholders)

- `:PLUGIN_VERSION:` - The version of the plugin which will be pulled in dynamically from composer at install time.

### Example

[](#example)

Below is an example of a mu-plugin entrypoint file that will be installed into the `wp-content/mu-plugins` directory. This demonstrates the use of the `:PLUGIN_VERSION:` placeholder.

```
/**
 * Plugin Name: WordPress Blocks
 * Description: WordPress Blocks plugin used by Creode to assist in the development of WordPress blocks.
 * Version: :PLUGIN_VERSION:
 *
 * @package Creode Blocks
 */

// This is a loader for the plugin from the parent directory to handle MU Plugin installation.
require_once __DIR__ . '/wordpress-blocks/plugin.php';
```

The above example will install the plugin into the `wp-content/mu-plugins` directory and create a file called `wordpress-blocks.php` in the `wp-content/mu-plugins` directory. The file will contain the following content:

```
/**
 * Plugin Name: WordPress Blocks
 * Description: WordPress Blocks plugin used by Creode to assist in the development of WordPress blocks.
 * Version: 1.9.0
 *
 * @package Creode Blocks
 */

// This is a loader for the plugin from the parent directory to handle MU Plugin installation.
require_once __DIR__ . '/wordpress-blocks/plugin.php';
```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance75

Regular maintenance activity

Popularity18

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 88.9% of commits — single point of failure

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.

###  Release Activity

Cadence

Every ~4 days

Total

4

Last Release

277d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8133041?v=4)[Creode](/maintainers/creode)[@creode](https://github.com/creode)

---

Top Contributors

[![jaymeh](https://avatars.githubusercontent.com/u/18261676?v=4)](https://github.com/jaymeh "jaymeh (16 commits)")[![creode-dev](https://avatars.githubusercontent.com/u/19706903?v=4)](https://github.com/creode-dev "creode-dev (2 commits)")

### Embed Badge

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

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

###  Alternatives

[drupal/console-extend-plugin

Drupal Console Extend Plugin

13214.3M5](/packages/drupal-console-extend-plugin)[rainlab/blog-plugin

Blog plugin for October CMS

17257.7k](/packages/rainlab-blog-plugin)[php-composter/php-composter

Git Hooks Management through Composer.

10525.1k11](/packages/php-composter-php-composter)[mediawiki/semantic-glossary

A terminology markup extension with a Semantic MediaWiki back-end

1352.4k](/packages/mediawiki-semantic-glossary)[uma/composer-psysh

No-frills PsySH-Composer plugin

183.2k](/packages/uma-composer-psysh)

PHPackages © 2026

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