21stdigital / bedrock
WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure
Requires
- php: >=5.6
- composer/installers: ^1.4
- johnpbloch/wordpress: 4.9.5
- oscarotero/env: ^1.1.0
- roots/wp-password-bcrypt: 1.0.0
- vlucas/phpdotenv: ^2.0.1
Requires (Dev)
- squizlabs/php_codesniffer: ^3.0.2
- dev-master
- 1.8.9
- 1.8.8
- 1.8.7
- 1.8.6
- 1.8.5
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.9
- 1.7.8
- 1.7.7
- 1.7.6
- 1.7.5
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.4
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- dev-dependabot/npm_and_yarn/web/app/themes/sage/npm_and_yarn-security-group-3daf7c0d85
- dev-travis-tests
This package is auto-updated.
Last update: 2024-10-24 03:34:03 UTC
README
Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure.
Much of the philosophy behind Bedrock is inspired by the Twelve-Factor App methodology including the WordPress specific version.
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:
- 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.
Requirements
- PHP >= 5.6
- Composer - Install
Installation
- Create a new project in a new folder for your project:
ACF_PRO_KEY=abc composer create-project -s dev 21stdigital/bedrock your-project-folder-name
- Update environment variables in
.env
file:
DB_NAME
- Database nameDB_USER
- Database userDB_PASSWORD
- Database passwordDB_HOST
- Database hostWP_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:
wp package install aaemnnosttv/wp-cli-dotenv-command
wp dotenv salts regenerate
Or, you can cut and paste from the Roots WordPress Salt Generator.
-
Add theme(s) in
web/app/themes
as you would for a normal WordPress site. -
Set your site vhost document root to
/path/to/site/web/
(/path/to/site/current/web/
if using deploys) -
Access WP admin at
http://example.com/wp/wp-admin
Deploys
There are two methods to deploy Bedrock sites out of the box:
Any other deployment method can be used as well with one requirement:
composer install
must be run as part of the deploy process.
Documentation
Bedrock documentation is available at https://roots.io/bedrock/docs/.
Contributing
Contributions are welcome from everyone. We have contributing guidelines to help you get started.
Community
Keep track of development and community news.
- Participate on the Roots Discourse
- Follow @rootswp on Twitter
- Read and subscribe to the Roots Blog
- Subscribe to the Roots Newsletter
- Listen to the Roots Radio podcast