Bootstrap/Load: Remove the ability to alter the list of environment types in wp_get_environment_type().

The intention of `wp_get_environment_type()` is to provide a consistent means of identifying the environment type, not of identifying a specific environment.

Actual environments should fit within one of the existing types: `local`, `development`, `staging`, or `production`. That should cover the types that plugins and themes might be concerned about when toggling functionality. 

Props johnbillion, joostdevalk, TimothyBlynJacobs, jeremyfelt, batmoo, claytoncollie, Clorith, markjaquith, garrett-eclipse, GaryJ, elrae.
Fixes #50992.

git-svn-id: https://develop.svn.wordpress.org/trunk@48894 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-08-27 21:30:33 +00:00
parent 0d26989e15
commit a0864835a5

View File

@ -138,7 +138,8 @@ function wp_check_php_mysql_versions() {
* If not set, the type defaults to 'production'. * If not set, the type defaults to 'production'.
* *
* @since 5.5.0 * @since 5.5.0
* @since 5.5.1 The 'local' type was added. * @since 5.5.1 Added the 'local' type.
* @since 5.5.1 Removed the ability to alter the list of types.
* *
* @return string The current environment type. * @return string The current environment type.
*/ */
@ -156,17 +157,14 @@ function wp_get_environment_type() {
'production', 'production',
); );
// Check if the environment variable has been set, if `getenv` is available on the system. // Add a note about the deprecated WP_ENVIRONMENT_TYPES constant.
if ( function_exists( 'getenv' ) ) { if ( defined( 'WP_ENVIRONMENT_TYPES' ) && function_exists( '_deprecated_argument' ) ) {
$has_env = getenv( 'WP_ENVIRONMENT_TYPES' ); _deprecated_argument(
if ( false !== $has_env ) { 'define()',
$wp_environments = explode( ',', $has_env ); '5.5.1',
} /* translators: %s: WP_ENVIRONMENT_TYPES */
} sprintf( __( 'The %s constant is no longer supported.' ), 'WP_ENVIRONMENT_TYPES' )
);
// Fetch the environment types from a constant, this overrides the global system variable.
if ( defined( 'WP_ENVIRONMENT_TYPES' ) ) {
$wp_environments = WP_ENVIRONMENT_TYPES;
} }
// Check if the environment variable has been set, if `getenv` is available on the system. // Check if the environment variable has been set, if `getenv` is available on the system.