Configuration Files

The file to modify for configuration options is config/application.php. This is the file that contains what wp-config.php usually would.

The root web/wp-config.php is required by WordPress and is only used to load the other main configs. Nothing else should be added to it.

Bedrock's base configuration options are production-standard safe settings and used in all environments except where specifically overridden. To override configuration settings based on environments:

  • Use an existing environment config in config/environments or create a new one. Bedrock will require any file in the config/environments directory with a filename matching the WP_ENV environment variable. This environment variable can be set in a few ways:

    • in the .env file as described in our installation docs
    • via Trellis config if you're using Trellis
    • or as a last resort, hardcoding it in config/application.php
  • Bedrock comes with development.php and staging.php configs included. If you create an additional environment, configure it with a matching PHP file in config/environments.

  • The development.php file sets WP_DEBUG_DISPLAY to true, so WordPress will display PHP errors in the browser when your WP_ENV is development.

Bedrock 1.9.0 (2018-09-17) introduced roots/wp-config (discussion).

Config::define is a static method that overrides the application options (WP) with environment specific options where they are defined, defaulting to the application options set in config/application.php.

Join over 6,000 subscribers on our newsletter to get the latest Roots updates, along with occasional tips on building better WordPress sites.

Looking for WordPress plugin recommendations, the newest modern WordPress projects, and general web development tips and articles?

“Easily the best WordPress email I get.” Colin OBrien

Follow us on Twitter @rootswp

Ready to checkout?