roots/wordpress-core-installer

A Composer custom installer to handle installing WordPress as a dependency

Maintainers

Package info

github.com/roots/wordpress-core-installer

Type:composer-plugin

pkg:composer/roots/wordpress-core-installer

Fund package maintenance!

roots

Statistics

Installs: 15 410 225

Dependents: 39

Suggesters: 0

Stars: 37

Open Issues: 1

3.0.0 2025-05-23 18:47 UTC

This package is auto-updated.

Last update: 2026-03-09 19:47:29 UTC


README

Tests Packagist Downloads GitHub tag Follow Roots Sponsor Roots

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.