PHPackages                             convertiv/composer-wordpress - 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. convertiv/composer-wordpress

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

convertiv/composer-wordpress
============================

This library fills a gap when using wordpress with composer. Previously, packages like Drupal's preserve paths composer plugin closed this gap, but with Composer 2's parallel operations, preserve paths creates a race condition.

v0.1.3(3y ago)012.2k↓60.1%MITPHP

Since Apr 18Pushed 3y ago3 watchersCompare

[ Source](https://github.com/Convertiv/composer-wordpress)[ Packagist](https://packagist.org/packages/convertiv/composer-wordpress)[ RSS](/packages/convertiv-composer-wordpress/feed)WikiDiscussions master Synced yesterday

READMEChangelog (4)Dependencies (1)Versions (6)Used By (0)

ComposerWordPress Plugin
========================

[](#composerwordpress-plugin)

This is a Composer plugin that copies packages (in our case WordPress plugins, mu-plugins and themes) from a specified source path to a specified destination path, as defined in the `composer.json` file.

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

[](#installation)

You can install this plugin by doing the following:

1. Setup in the composer.json file of your project
--------------------------------------------------

[](#1-setup-in-the-composerjson-file-of-your-project)

Add the following configuration to your `composer.json` file:

```
{
   "extra": {
        "wordpress-install-dir": "public/",
        "composer-custom-install-path-src": "bin/composer_wordpress_vendor/wp-content",
        "composer-custom-install-path-dest": "public/wp-content",
        "installer-paths": {
            "bin/composer_wordpress_vendor/wp-content/plugins/{$name}/": [
                "type:wordpress-plugin"
            ],
            "bin/composer_wordpress_vendor/wp-content/mu-plugins/{$name}/": [
                "type:wordpress-muplugin"
            ],
            "bin/composer_wordpress_vendor/wp-content/themes/{$name}/": [
                "type:wordpress-theme"
            ]
        }
    }
}
```

The wordpress-install-dir key defines the path to the WordPress installation directory which is installed using John Bloch's WordPress package.

the installer-paths key defines the paths to the WordPress packages to be copied. We're copying the WordPress packages to the bin/composer\_wordpress\_vendor/wp-content directory.

The composer-custom-install-path-src key defines the path to the source directory containing WordPress packages to be copied, and the composer-custom-install-path-dest key defines the path to the destination directory where the packages will be copied.

The plugin will automatically run during the post-install-cmd and post-update-cmd events, and will copy the WordPress packages from the source path to the destination path.

2. Run the following command to install the plugin:
---------------------------------------------------

[](#2-run-the-following-command-to-install-the-plugin)

```
composer require convertiv/composer-wordpress

```

Composer installer will ask whether you trust the plugin:

```
Do you trust "convertiv/composer-wordpress" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?]

```

Type `y` to allow the plugin to be used.

After this setup is done, the plugin will be used to copy WordPress packages from the source path to the destination path during `composer install` and `composer update`.

4. Add the folder path used in composer-custom-install-path-src to your .gitignore file
---------------------------------------------------------------------------------------

[](#4-add-the-folder-path-used-in-composer-custom-install-path-src-to-your-gitignore-file)

If you used bin/composer\_wordpress\_vendor/wp-content as the path, add the following to your .gitignore file:

```
bin/composer_wordpress_vendor

```

License This plugin is licensed under the MIT License. For more information, see the [LICENCE](LICENCE) file.

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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 ~2 days

Total

4

Last Release

1164d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2050f94d457dad00182d22f02179dc0a47295cc7980974c8c4f026e7c3d20cac?d=identicon)[brad.mering](/maintainers/brad.mering)

---

Top Contributors

[![dinokraljevic8](https://avatars.githubusercontent.com/u/7769990?v=4)](https://github.com/dinokraljevic8 "dinokraljevic8 (12 commits)")

### Embed Badge

![Health badge](/badges/convertiv-composer-wordpress/health.svg)

```
[![Health](https://phpackages.com/badges/convertiv-composer-wordpress/health.svg)](https://phpackages.com/packages/convertiv-composer-wordpress)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74798.8M1.0k](/packages/symfony-runtime)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M564](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.7M203](/packages/drupal-core-project-message)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

3014.6M26](/packages/vaimo-composer-patches)[sandersander/composer-link

Adds ability to link local packages for development with composer

98457.9k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

294.7M340](/packages/phpro-grumphp-shim)

PHPackages © 2026

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