Uses
Uses | Description |
---|---|
wp-includes/l10n.php: __() | Retrieve the translation of $text. |
wp-includes/functions.php: _deprecated_argument() | Mark a function argument as deprecated and inform when it has been used. |
Retrieves the current environment type.
The type can be set via the WP_ENVIRONMENT_TYPE
global system variable, or a constant of the same name.
Possible values include ‘local’, ‘development’, ‘staging’, ‘production’. If not set, the type defaults to ‘production’.
(string) The current environment type.
development
is returned by wp_get_environment_type(), WP_DEBUG
will be set to true
if it is not defined in the wp-config.php
file of the site.staging
on those staging environments. Similarly, all developers with development environments to set this value to development
appropriately.Example Usage:
switch ( wp_get_environment_type() ) { case 'local': case 'development': do_nothing(); break; case 'staging': do_staging_thing(); break; case 'production': default: do_production_thing(); break; }
File: wp-includes/load.php
function wp_get_environment_type() { static $current_env = ''; if ( $current_env ) { return $current_env; } $wp_environments = array( 'local', 'development', 'staging', 'production', ); // Add a note about the deprecated WP_ENVIRONMENT_TYPES constant. if ( defined( 'WP_ENVIRONMENT_TYPES' ) && function_exists( '_deprecated_argument' ) ) { if ( function_exists( '__' ) ) { /* translators: %s: WP_ENVIRONMENT_TYPES */ $message = sprintf( __( 'The %s constant is no longer supported.' ), 'WP_ENVIRONMENT_TYPES' ); } else { $message = sprintf( 'The %s constant is no longer supported.', 'WP_ENVIRONMENT_TYPES' ); } _deprecated_argument( 'define()', '5.5.1', $message ); } // Check if the environment variable has been set, if `getenv` is available on the system. if ( function_exists( 'getenv' ) ) { $has_env = getenv( 'WP_ENVIRONMENT_TYPE' ); if ( false !== $has_env ) { $current_env = $has_env; } } // Fetch the environment from a constant, this overrides the global system variable. if ( defined( 'WP_ENVIRONMENT_TYPE' ) ) { $current_env = WP_ENVIRONMENT_TYPE; } // Make sure the environment is an allowed one, and not accidentally set to an invalid value. if ( ! in_array( $current_env, $wp_environments, true ) ) { $current_env = 'production'; } return $current_env; }
Version | Description |
---|---|
5.5.1 | Removed the ability to alter the list of types. |
5.5.0 | Introduced. |
© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_get_environment_type