Функция get_user_option()
в WordPress позволяет получить значение указанной пользовательской опции, которая может относиться к текущему сайту или быть общей для всей сети (при использовании в мультисайтовой установке). Если ID пользователя не указан, будет использован ID текущего авторизованного пользователя.
get_user_option( string $option, int $user = 0, string $deprecated = '' ): mixed
$option
(string) — обязательный параметр, имя опции, которую необходимо получить.$user
(int) — ID пользователя, опцию которого нужно получить. Если не указан, будет использоваться текущий пользователь.$deprecated
(string) — устаревший параметр, не используется. Для поиска опции в таблицеoptions
рекомендуется использоватьget_option()
.
Возвращаемое значение
Функция возвращает значение опции, если оно существует, и false
, если опция не найдена.
Как работает get_user_option()
- Сначала проверяется наличие указанной опции для текущего сайта (особенно важно для мультисайтовой версии WordPress).
- Если опция не найдена на уровне сайта, проверяется глобальное значение, которое может быть общим для всей сети.
Примеры использования
- Проверка состояния админ-бара на фронтенде Чтобы узнать, включен ли у пользователя админ-бар на фронтенде, можно использовать следующий код:
$show_admin_bar = get_user_option( 'show_admin_bar_front', 25 );
if ( $show_admin_bar == 'true' ) {
echo 'Админ-бар включен для пользователя на фронтенде';
} else {
echo 'Админ-бар выключен для пользователя на фронтенде';
}
Здесь проверяется, отображается ли админ-бар для пользователя с ID 25.
- Получение пользовательской цветовой схемы для админки Если у вас есть опция пользовательской цветовой схемы для админки, вы можете получить её значение так:
$admin_color_scheme = get_user_option( 'admin_color', 30 );
if ( $admin_color_scheme ) {
echo 'Цветовая схема администратора: ' . $admin_color_scheme;
} else {
echo 'Цветовая схема по умолчанию';
}
Этот пример извлекает цветовую схему для пользователя с ID 30. Если значение не установлено, будет выведено сообщение по умолчанию.
- Проверка подписки пользователя на рассылку Допустим, у вас есть опция для подписки пользователя на рассылку. Вот как можно проверить, подписан ли пользователь:
$newsletter_subscription = get_user_option( 'newsletter_subscription', 42 );
if ( $newsletter_subscription ) {
echo 'Пользователь подписан на рассылку';
} else {
echo 'Пользователь не подписан на рассылку';
}
В этом примере опция newsletter_subscription
проверяется для пользователя с ID 42.
- Получение статуса глобальной опции для мультисайта В мультисайтовой версии можно получить статус глобальной опции, которая действует на уровне всей сети. Например:
$global_option = get_user_option( 'preferred_language', 35 );
if ( $global_option ) {
echo 'Язык пользователя в сети: ' . $global_option;
} else {
echo 'Используется язык по умолчанию';
}
Здесь проверяется язык, установленный для пользователя с ID 35, действующий на уровне всей сети сайтов.
- Проверка включённого режима редактора кода для пользователя Если у пользователя есть возможность включать или отключать редактор кода в WordPress, мы можем проверить его статус:
$rich_editing = get_user_option( 'rich_editing', 18 );
if ( $rich_editing === 'true' ) {
echo 'Визуальный редактор включен для пользователя';
} else {
echo 'Визуальный редактор отключен для пользователя';
}
Эта опция позволяет узнать, включен ли визуальный редактор у пользователя с ID 18.
Заключение
Функция get_user_option()
— полезный инструмент для работы с пользовательскими настройками, как на уровне сайта, так и для всей сети. В частности, она незаменима для создания адаптивного интерфейса, отображения пользовательских настроек и глобальных предпочтений для всей сети сайтов WordPress.