Site Health: Ensure the user locale is listed in debug information.

This change switches to using `get_user_locale()` when adding the language to the Site Health debug information to ensure the user’s locale preference is reflected.

Also, `function_exists()` checks for `switch_to_locale()` and `restore_previous_locale()` were required in the plugin to support older versions of WordPress, but they are not required in core/

Props: Clorith, desrosj.
Fixes #46694.

git-svn-id: https://develop.svn.wordpress.org/trunk@45110 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonathan Desrosiers 2019-04-04 21:23:29 +00:00
parent 0afc9b5119
commit af60a3c2bf
2 changed files with 5 additions and 7 deletions

View File

@ -34,10 +34,8 @@ class WP_Debug_Data {
global $wpdb;
if ( ! empty( $locale ) ) {
// Change the language used for translations
if ( function_exists( 'switch_to_locale' ) ) {
$original_locale = get_locale();
$switched_locale = switch_to_locale( $locale );
}
$original_locale = get_user_locale();
$switched_locale = switch_to_locale( $locale );
}
$upload_dir = wp_get_upload_dir();
@ -73,7 +71,7 @@ class WP_Debug_Data {
),
'language' => array(
'label' => __( 'Language' ),
'value' => ( ! empty( $locale ) ? $original_locale : get_locale() ),
'value' => ( ! empty( $locale ) ? $original_locale : get_user_locale() ),
),
'home_url' => array(
'label' => __( 'Home URL' ),
@ -888,7 +886,7 @@ class WP_Debug_Data {
if ( ! empty( $locale ) ) {
// Change the language used for translations
if ( function_exists( 'restore_previous_locale' ) && $switched_locale ) {
if ( $switched_locale ) {
restore_previous_locale();
}
}

View File

@ -68,7 +68,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
$info = WP_Debug_Data::debug_data();
$english_info = '';
if ( 0 !== strpos( get_locale(), 'en' ) ) {
if ( 0 !== strpos( get_user_locale(), 'en' ) ) {
$english_info = WP_Debug_Data::debug_data( 'en_US' );
}
?>