get_user_locale()WP 4.7.0

Получает локаль (язык перевода) текущего или указанного пользователя. Вернет значение get_locale(), если юзер не установил себе отдельную локаль в профиле.

С WP 4.7. пользователь может установить в профиле отдельный язык перевода для своей админки.

Основа для: determine_locale()
1 раз — 0.00003 сек (очень быстро) | 50000 раз — 0.15 сек (очень быстро) | PHP 7.0.14, WP 4.7

Хуков нет.

Возвращает

Строку. Локаль пользователя, например ru_RU. Если пользователь не определен или у него не установлена локаль, то вернет значение get_locale().

Использование

get_user_locale( $user );
$user_id(число/WP_User)
ID или объект пользователя, локаль которого нужно получить.
По умолчанию: 0 (текущий пользователь)

Примеры

0

#1 Получим язык перевода (локаль) текущего пользователя

$local = get_user_locale();
echo $local; //> ru_RU
0

#2 Получим язык перевода пользователя с ID 1

$local = get_user_locale( 1 );
echo $local; //> en_US

Список изменений

С версии 4.7.0 Введена.

Код get_user_locale() WP 6.4.3

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();
}