roots / wordpress-core-installer
A Composer custom installer to handle installing WordPress as a dependency
Package info
github.com/roots/wordpress-core-installer
Type:composer-plugin
pkg:composer/roots/wordpress-core-installer
Fund package maintenance!
Requires
- php: >=7.2.24
- composer-plugin-api: ^1.0 || ^2.0
Requires (Dev)
- composer/composer: ^1.0 || ^2.0
- phpunit/phpunit: ^8.5
Conflicts
- composer/installers: <1.0.6
Replaces
This package is auto-updated.
Last update: 2026-03-09 19:47:29 UTC
README
This is a fork of johnpbloch/wordpress-core-installer with some fixes to enhance compatibility with roots/wordpress
A custom Composer plugin to install WordPress core outside of vendor.
This installer is meant to support a rather specific WordPress installation setup in which WordPress is installed in a subdirectory (see the WordPress codex on that subject) and in which the location of WP_CONTENT_DIR and WP_CONTENT_URL have been customized to be outside of WordPress core (see the WordPress codex on that subject). This is because composer will delete your whole wp-content directory every time it updates core if you don't separate the two. If that installation setup isn't what you are looking for, then this installer is probably not something you will want to use.
For more information on this site setup and using Composer to manage a whole WordPress site, check out @Rarst's informational website which also includes a site stack example using this package.
Support us
We're dedicated to pushing modern WordPress development forward through our open source projects, and we need your support to keep building. You can support our work by purchasing Radicle, our recommended WordPress stack, or by sponsoring us on GitHub. Every contribution directly helps us create better tools for the WordPress ecosystem.
Usage
To set up a custom WordPress build package to use this as a custom installer, add the following to your package's composer file:
"type": "wordpress-core", "require": { "roots/wordpress-core-installer": "^3.0" }
By default, this package will install a wordpress-core type package in the wordpress directory. To change this you can add the following to either your custom WordPress core type package or the root composer package:
"extra": { "wordpress-install-dir": "custom/path" }
The root composer package can also declare custom paths as an object keyed by package name:
"extra": { "wordpress-install-dir": { "wordpress/wordpress": "wordpress", "roots/wordpress-core": "roots-wordpress" } }
Community
Keep track of development and community news.
- Join us on Discord by sponsoring us on GitHub
- Join us on Roots Discourse
- Follow @rootswp on Twitter
- Follow the Roots Blog
- Subscribe to the Roots Newsletter