, (*1)
Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure., (*2)
Much of the philosophy behind Bedrock is inspired by the Twelve-Factor App methodology including the WordPress specific version., (*3)
Features
- 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)
- Enhanced security (separated web root and secure passwords with wp-password-bcrypt)
Use Trellis for additional features:, (*4)
- Easy development environments with Vagrant
- Easy server provisioning with Ansible (Ubuntu 16.04, PHP 7.1, MariaDB)
- One-command deploys
See a complete working example in the roots-example-project.com repo., (*5)
Requirements
Installation
-
Create a new project in a new folder for your project:, (*6)
composer create-project couleurcitron/wordpress your-project-folder-name
, (*7)
-
Update environment variables in .env
file:, (*8)
-
DB_NAME
- Database name
-
DB_USER
- Database user
-
DB_PASSWORD
- Database password
-
DB_HOST
- Database host
-
WP_ENV
- Set to environment (development
, staging
, production
)
-
WP_HOME
- Full URL to WordPress home (http://example.com)
-
WP_SITEURL
- Full URL to WordPress including subdirectory (http://example.com/wp)
-
AUTH_KEY
, SECURE_AUTH_KEY
, LOGGED_IN_KEY
, NONCE_KEY
, AUTH_SALT
, SECURE_AUTH_SALT
, LOGGED_IN_SALT
, NONCE_SALT
If you want to automatically generate the security keys (assuming you have wp-cli installed locally) you can use the very handy wp-cli-dotenv-command:, (*9)
wp package install aaemnnosttv/wp-cli-dotenv-command, (*10)
wp dotenv salts regenerate, (*11)
Or, you can cut and paste from the Roots WordPress Salt Generator., (*12)
-
Add theme(s) in web/app/themes
as you would for a normal WordPress site., (*13)
-
Set your site vhost document root to /path/to/site/web/
(/path/to/site/current/web/
if using deploys), (*14)
-
Access WP admin at http://example.com/wp/wp-admin
, (*15)
Install ACF Pro
- Set environment variable
ACF_PRO_KEY
with your key in .env
file.
- Run
composer require advanced-custom-fields/advanced-custom-fields-pro
.
Deploys
- Copy
.env.example
to .env
.
- If ACF Pro is used, don't forget to set
ACF_PRO_KEY
env variable.
- Run
composer install --no-dev
.
Documentation
Bedrock documentation is available at https://roots.io/bedrock/docs/., (*16)
Contributing
Contributions are welcome from everyone. We have contributing guidelines to help you get started., (*17)
Keep track of development and community news., (*18)