Функция get_user_locale()
возвращает локаль пользователя, если она установлена в профиле. Если у пользователя не задана отдельная локаль, функция возвращает значение по умолчанию, используя глобальную функцию get_locale()
, которая возвращает локаль для всего сайта.
get_user_locale( int|WP_User $user ): string
Эта функция была введена в WordPress 4.7, когда появилась возможность для каждого пользователя установить отдельный язык для своей административной панели. Это может быть полезно, если на сайте работают пользователи с разными языковыми предпочтениями.
Параметры
- $user (int | WP_User) — Необязательный. ID пользователя или объект
WP_User
, локаль которого нужно получить. Если параметр не задан, функция вернет локаль текущего пользователя.
Возвращаемое значение
- string — Возвращает локаль пользователя (например,
ru_RU
илиen_US
). Если локаль пользователя не задана, возвращается локаль, определенная функциейget_locale()
.
Примечания
- Если у пользователя не установлена отдельная локаль в профиле, возвращается значение по умолчанию — то, что задается функцией
get_locale()
. - Эта функция работает очень быстро и может быть использована многократно, например, в циклах или для обработки большого количества пользователей.
Пример 1: Получение локали текущего пользователя
Этот пример показывает, как можно получить язык интерфейса для текущего пользователя.
$locale = get_user_locale();
echo $locale; // Выведет, например, "ru_RU" или "en_US"
Пример 2: Получение локали конкретного пользователя по ID
Если вам нужно узнать локаль другого пользователя, передайте его ID в функцию:
$locale = get_user_locale(1);
echo $locale; // Выведет, например, "en_US" для пользователя с ID 1
Пример 3: Получение локали с использованием объекта WP_User
Функция также поддерживает передачу объекта WP_User
вместо ID пользователя:
$user = get_user_by('ID', 1);
$locale = get_user_locale($user);
echo $locale; // Выведет локаль, например, "en_US"
Связанные функции
- get_locale() — Возвращает локаль сайта по умолчанию.
- determine_locale() — Определяет, какую локаль использовать для текущего запроса.
Заключение
Функция get_user_locale()
является мощным инструментом для настройки языковой среды WordPress для отдельных пользователей. Это особенно полезно на многоязычных сайтах, где пользователи могут предпочитать администрирование на разных языках.