get_user_locale()
Gets the locale (translation language) of the current or specified user. It will return the value of get_locale() if the user has not set a separate locale in their profile.
Since WP 4.7, a user can set a separate translation language for their admin panel in their profile.
Used By: determine_locale()
1 time — 0.00003 sec (very fast) | 50000 times — 0.15 sec (very fast) | PHP 7.0.14, WP 4.7
No Hooks.
Returns
String. User locale, for example ru_RU. If the user is not defined or does not have a locale set, it will return the value of get_locale().
Usage
get_user_locale( $user );
- $user_id(integer/WP_User)
- ID or user object whose locale needs to be retrieved.
Default: 0 (current user)
Examples
#1 Get the translation language (locale) of the current user
$local = get_user_locale(); echo $local; //> ru_RU
#2 Get the translation language of the user with ID 1
$local = get_user_locale( 1 ); echo $local; //> en_US
Changelog
| Since 4.7.0 | Introduced. |
get_user_locale() get user locale code WP 6.9.1
function get_user_locale( $user = 0 ) {
$user_object = false;
if ( 0 === $user && function_exists( 'wp_get_current_user' ) ) {
$user_object = wp_get_current_user();
} elseif ( $user instanceof WP_User ) {
$user_object = $user;
} elseif ( $user && is_numeric( $user ) ) {
$user_object = get_user_by( 'id', $user );
}
if ( ! $user_object ) {
return get_locale();
}
$locale = $user_object->locale;
return $locale ? $locale : get_locale();
} 