A custom installer to handle deploying WordPress with composer

Installs: 3 761 129

Dependents: 44

Suggesters: 0

Security: 0

Stars: 164

Watchers: 12

Forks: 36

Open Issues: 1


1.0.2 2018-11-09 20:10 UTC

This package is auto-updated.

Last update: 2020-03-24 23:48:34 UTC


Build Status codecov License: GPL v2 Packagist GitHub tag

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.


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": {
	"johnpbloch/wordpress-core-installer": "^1.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",
		"johnpbloch/wordpress-core": "jpb-wordpress"


This is licensed under the GPL version 2 or later.