devaloka/mu-plugin-installer

A Composer Installer for WordPress MU plugins

Installs: 8 369

Dependents: 10

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 1

Open Issues: 1

Type:composer-plugin

0.2.0 2016-06-07 09:42 UTC

This package is auto-updated.

Last update: 2024-10-29 03:58:47 UTC


README

Latest Stable Version Latest Unstable Version License Build Status Coverage Status

This is a Composer Installer for WordPress MU Plugins.

The Installer is basically based on/compatible with A Multi-Framework Composer Library Installer 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

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)

composer.json becomes almost the same as A Multi-Framework Composer Library Installer's.

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)

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 example.

Example composer.json File (for root package)

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

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'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.