Функция delete_user_option()
в WordPress удаляет пользовательские опции (метаполя), которые могут быть привязаны к конкретному сайту или к сети сайтов в мультисайтовой установке. Она полезна для работы с опциями, к названиям которых автоматически добавляется префикс таблицы базы данных. Если используется мультисайтовая установка, можно установить опцию как глобальную для всей сети, указав параметр $is_global
в true
.
delete_user_option( int $user_id, string $option_name, bool $is_global = false ): bool
$user_id
(int) — обязательный параметр, ID пользователя, у которого необходимо удалить опцию.$option_name
(string) — обязательное название опции, подлежащей удалению.$is_global
(bool) — необязательный параметр, указывает, является ли опция глобальной для всей сети (в мультисайтовой установке) или относится только к текущему сайту. По умолчанию —false
(опция специфична для текущего сайта).
Возвращаемое значение
Функция возвращает true
, если опция была успешно удалена, и false
в случае ошибки.
Как работает delete_user_option()
- Если
$is_global = false
(по умолчанию), WordPress добавляет префикс базы данных к названию опции, что делает её специфичной для текущего сайта. - Если
$is_global = true
, название опции остаётся без изменений, и опция рассматривается как глобальная для всей сети (в мультисайтовой установке).
Примеры использования
- Удаление напоминания о смене пароля у пользователя Чтобы удалить опцию напоминания о смене пароля, можно использовать следующий код:
if ( delete_user_option( 8, 'default_password_nag' ) ) {
echo 'Опция default_password_nag удалена!';
} else {
echo 'Не удалось удалить опцию default_password_nag!';
}
В данном примере опция default_password_nag
будет удалена для пользователя с ID 8.
- Удаление пользовательской темы оформления в сети Если у вас есть мультисайтовая установка, можно удалить глобальную пользовательскую тему оформления для всей сети:
$result = delete_user_option( 12, 'custom_theme', true );
if ( $result ) {
echo 'Глобальная опция custom_theme успешно удалена для пользователя!';
} else {
echo 'Не удалось удалить глобальную опцию custom_theme!';
}
Заключение
Функция delete_user_option()
— удобный инструмент для работы с пользовательскими настройками на уровне сайта и сети. Она позволяет не только удалять специфичные настройки для одного сайта, но и управлять глобальными опциями в мультисайтовой установке, что упрощает настройку пользовательских предпочтений.