Skip to content

roots/wp-stage-switcher

WordPress Stage Switcher

Packagist Packagist Downloads

A WordPress plugin that allows you to switch between different environments from the admin bar.

WordPress Stage Switcher

Requirements

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.

Installation

This plugin must be installed via Composer. Add wp-stage-switcher to your project's dependencies:

composer require roots/wp-stage-switcher

Filters

bedrock/stage_switcher_colors

Customize 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',
  ];
});

bedrock/stage_switcher_visibility

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');
});

Support

Use the Roots Discourse to ask questions and get support.

About

WordPress plugin that allows you to switch between different environments from the admin bar

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 13

Languages