get_user_locale()WP 4.7.0

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

С версии 4.7. каждый пользователь может установить для себя отдельный язык перевода. Если такой язык не установлен, т.е. у пользователя нет локали, то функция вернет глобальную локаль сайта - значение функции get_locale().

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

Хуков нет.

Возвращает

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

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

get_user_locale( $user_id );
$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.0.2

function get_user_locale( $user_id = 0 ) {
	$user = false;
	if ( 0 === $user_id && function_exists( 'wp_get_current_user' ) ) {
		$user = wp_get_current_user();
	} elseif ( $user_id instanceof WP_User ) {
		$user = $user_id;
	} elseif ( $user_id && is_numeric( $user_id ) ) {
		$user = get_user_by( 'id', $user_id );
	}

	if ( ! $user ) {
		return get_locale();
	}

	$locale = $user->locale;
	return $locale ? $locale : get_locale();
}