Help us continue to build and maintain our open source projects. We’re a small team of independent developers and every little bit helps.
Bedrock WordPress Folder Structure
View as Markdown:
├── composer.json # → Manage versions of WordPress, plugins & dependencies
├── config # → WordPress configuration files
│ ├── application.php # → Primary WP config file (wp-config.php equivalent)
│ └── environments # → Environment specific configs
│ ├── development.php # → Development config
│ └── staging.php # → Staging config
├── vendor # → Composer packages (never edit)
└── web # → Web root (document root on your webserver)
├── app # → wp-content equivalent
│ ├── mu-plugins # → Must use plugins
│ ├── plugins # → Plugins
│ ├── themes # → Themes
│ └── uploads # → Uploads
├── wp-config.php # → Required by WP (never edit)
├── index.php # → WordPress view bootstrapper
└── wp # → WordPress core (never edit)
The organization of Bedrock is similar to putting WordPress in its own subdirectory but with some improvements:
- In order not to expose sensitive files in the web root, Bedrock moves what's required into a
web/directory including thewp/source, and thewp-contentsource. wp-contenthas been namedappto better reflect its contents. It contains application code and not just "static content". It also matches up with other frameworks such as Symfony and Rails.wp-config.phpremains in theweb/because it's required by WP, but it only acts as a loader. The actual configuration files have been moved toconfig/for better separation.vendor/is where the Composer managed dependencies are installed to.wp/is where WordPress core lives. It's also managed by Composer but can't be put undervendordue to WP limitations.
Last updated