Skip to content
forked from roots/bedrock

WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure

License

Notifications You must be signed in to change notification settings

262media/bedrock

 
 

Repository files navigation

Bedrock

MIT License Packagist Build Status Follow Roots

A modern WordPress stack

Website    Documentation    Releases    Support

Sponsors

Bedrock is an open source project and completely free to use.

However, the amount of effort needed to maintain and develop new features and products within the Roots ecosystem is not sustainable without proper financial backing. If you have the capability, please consider sponsoring Roots.

Sponsor Roots

KM Digital Carrot WordPress.com Pantheon

Overview

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)

Requirements

Installation

  1. Create a new project:
    $ composer create-project roots/bedrock
    By default, this installs the dist version of all dependent packages. To install the source versions instead, update composer.json as follows:
     "preferred-install": {
       "roots/wordpress-no-content": "dist",
       "*": "source"
     },
  2. Update environment variables in the .env file. Wrap values that may contain non-alphanumeric characters with quotes, or they may be incorrectly parsed.
  • Database variables
    • DB_NAME - Database name
    • DB_USER - Database user
    • DB_PASSWORD - Database password
    • DB_HOST - Database host
    • Optionally, you can define DATABASE_URL for 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
  1. Add theme(s) in web/app/themes/ as you would for a normal WordPress site
  2. Set the document root on your webserver to Bedrock's web folder: /path/to/site/web/
  3. Access WordPress admin at https://example.com/wp/wp-admin/

Community

Keep track of development and community news.

About

WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 88.4%
  • Shell 11.6%