Bootstrap/Load: Remove the wp_environment_type and wp_get_environment_type filters.

Since `wp_get_environment_type()` runs too early for plugins to hook these filters, and the result is then cached in a static variable and cannot be changed later, the filters are not that useful.

The `WP_ENVIRONMENT_TYPES` and `WP_ENVIRONMENT_TYPE` constants and environment variables should be enough for now.

Follow-up to [47919], [48188], [48372].

Props Clorith, SergeyBiryukov.
Fixes #33161.

git-svn-id: https://develop.svn.wordpress.org/trunk@48662 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-07-28 12:08:41 +00:00
parent ae65f096b0
commit faa6036d08

View File

@ -132,7 +132,7 @@ function wp_check_php_mysql_versions() {
* Retrieves the current environment type. * Retrieves the current environment type.
* *
* The type can be set via the `WP_ENVIRONMENT_TYPE` global system variable, * The type can be set via the `WP_ENVIRONMENT_TYPE` global system variable,
* a constant of the same name, or the {@see 'wp_get_environment_type'} filter. * or a constant of the same name.
* *
* Possible values include 'development', 'staging', 'production'. If not set, * Possible values include 'development', 'staging', 'production'. If not set,
* the type defaults to 'production'. * the type defaults to 'production'.
@ -167,18 +167,6 @@ function wp_get_environment_type() {
$wp_environments = WP_ENVIRONMENT_TYPES; $wp_environments = WP_ENVIRONMENT_TYPES;
} }
/**
* Filters the list of supported environment types.
*
* This filter runs before it can be used by plugins. It is designed for non-web runtimes.
*
* @since 5.5.0
*
* @param array $wp_environments The list of environment types. Possible values
* include 'development', 'staging', 'production'.
*/
$wp_environments = apply_filters( 'wp_environment_types', $wp_environments );
// 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.
if ( function_exists( 'getenv' ) ) { if ( function_exists( 'getenv' ) ) {
$has_env = getenv( 'WP_ENVIRONMENT_TYPE' ); $has_env = getenv( 'WP_ENVIRONMENT_TYPE' );
@ -192,20 +180,6 @@ function wp_get_environment_type() {
$current_env = WP_ENVIRONMENT_TYPE; $current_env = WP_ENVIRONMENT_TYPE;
} }
/**
* Filters the current environment type.
*
* This filter runs before it can be used by plugins. It is designed for
* non-web runtimes. The value returned by this filter has a priority over both
* the `WP_ENVIRONMENT_TYPE` system variable and a constant of the same name.
*
* @since 5.5.0
*
* @param string $current_env The current environment type. Possible values
* include 'development', 'staging', 'production'.
*/
$current_env = apply_filters( 'wp_get_environment_type', $current_env );
// Make sure the environment is an allowed one, and not accidentally set to an invalid value. // Make sure the environment is an allowed one, and not accidentally set to an invalid value.
if ( ! in_array( $current_env, $wp_environments, true ) ) { if ( ! in_array( $current_env, $wp_environments, true ) ) {
$current_env = 'production'; $current_env = 'production';