Roots and WP Packages are independent open source projects, supported only by developers like you. We’ve been improving the WordPress developer experience since 2011, and your support keeps it independent.
Installing the Bedrock WordPress Boilerplate
View as Markdown:
What is Bedrock?
Bedrock is a WordPress boilerplate.
Why use Bedrock?
- Better folder structure
- Dependency management with Composer
- Easy WordPress configuration with environment specific files
- Environment variables with Dotenv
- Autoloader for mu-plugins (use regular plugins as mu-plugins)
Requirements
- PHP >= 8.3
- Composer
Installing Bedrock with Composer
Create a new Bedrock project:
$ composer create-project roots/bedrock
Getting Started
- Create a
.envfile with the following environment variables (see.env.exampleas an example):- Database variables
DB_NAME- Database nameDB_USER- Database userDB_PASSWORD- Database passwordDB_HOST- Database host- Optionally, you can define
DATABASE_URLfor using a DSN instead of using the variables above (e.g.mysql://user:[email protected]:3306/db_name)
WP_ENV- Set to environment (development,staging,production)WP_HOME- Full URL to WordPress home (https://example.com)WP_SITEURL- Full URL to WordPress including subdirectory (https://example.com/wp)AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT- Generate with wp-cli-dotenv-command
- Generate with our WordPress salts generator
- Database variables
- Add theme(s) in
web/app/themes/as you would for a normal WordPress site - Run the test suite with
composer test(see Testing Bedrock with Pest) - Set the document root on your webserver to Bedrock's
webfolder:/path/to/site/web/ - Access WordPress admin at
https://example.com/wp/wp-admin/
Multisite
Bedrock is multisite network compatible, but needs the roots/multisite-url-fixer mu-plugin on subdomain installs to make sure admin URLs function properly. This plugin is not needed on subdirectory installs but will work well with them. From your Bedrock directory:
$ composer require roots/multisite-url-fixer
Last updated