A WordPress plugin that allows you to switch between different environments from the admin bar.
Roots is an independent open source org, supported only by developers like you. Your sponsorship funds WP Packages and the entire Roots ecosystem, and keeps them independent. Support us by purchasing Radicle or sponsoring us on GitHub — sponsors get access to our private Discord.
You'll need to have ENVIRONMENTS and WP_ENV defined in your WordPress config.
The ENVIRONMENTS constant must be an array of 'environment' => 'url' elements:
$envs = [
'development' => 'http://example.dev',
'staging' => 'http://staging.example.com',
'production' => 'http://example.com'
];
Config::define('ENVIRONMENTS', $envs);WP_ENV must be defined as the current environment:
Config::define('WP_ENV', 'development');If you use Bedrock, WP_ENV is already defined in the config.
This plugin must be installed via Composer. Add wp-stage-switcher to your project's dependencies:
composer require roots/wp-stage-switcherCustomize the background colors for each environment in the admin bar menu. Returns an array of 'environment' => 'color' pairs.
Default colors:
[
'development' => 'firebrick',
'staging' => 'chocolate',
'production' => 'transparent',
]Example usage:
add_filter('bedrock/stage_switcher_colors', function ($colors) {
return [
'development' => '#dc2626',
'staging' => '#ea580c',
'production' => '#10b981',
];
});Control who can see the stage switcher in the admin bar. Defaults to is_super_admin().
Example usage:
add_filter('bedrock/stage_switcher_visibility', function ($visible) {
return current_user_can('manage_options');
});Keep track of development and community news.
- Join us on Discord by sponsoring us on GitHub
- Join us on Roots Discourse
- Follow @rootswp on Twitter
- Follow the Roots Blog
- Subscribe to the Roots Newsletter
