Описание функции update_user_meta()
Функция update_user_meta() обновляет мета-данные пользователя в базе данных. Она позволяет добавлять, изменять или удалять мета-данные, связанные с конкретным пользователем. Функция используется во многих случаях, таких как хранение дополнительных данных о пользователе, управление пользовательскими профилями и настройками.
Если мета-данные для указанного пользователя не существуют, функция создаст их
Параметры
$user_id
Тип: int
Обязательный: Да
Описание: Идентификатор пользователя, для которого обновляются мета-данные
Возможные значения:
$meta_key
Тип: string
Обязательный: Да
Описание: Ключ мета-данных, который будет обновлен
Возможные значения:
$meta_value
Тип: mixed
Обязательный: Да
Описание: Новое значение мета-данных
Возможные значения:
Возвращаемое значение
Тип: bool
Описание: Возвращает true при успешном обновлении или создании мета-данных, иначе false
Возможные значения:
• true — если мета-данные были успешно обновлены
• false — если произошла ошибка или мета-данные не были изменены
Примеры использования
Базовый пример обновления мета-данных пользователя
$result = update_user_meta(1, 'favorite_color', 'blue');
// $result будет true, если обновление прошло успешно
ID пользователя 1 обновляется с новым значением favorite_color
Обновление мета-данных с массивом значений
$result = update_user_meta(2, 'subscription_levels', array('monthly', 'yearly'));
// $result будет true
Сохраняем уровни подписки для пользователя с ID 2
Пример обработки ошибок при обновлении мета-данных
$result = update_user_meta(999, 'nonexistent_meta', 'value');
if (!$result) {
echo 'Ошибка при обновлении мета-данных';
}
// Сообщение об ошибке, если ID пользователя не существует
ID 999 может не существовать
Обновление мета-данных при входе пользователя в систему
function my_plugin_update_user_data($user_id) {
update_user_meta($user_id, 'last_login', current_time('mysql'));
}
add_action('wp_login', 'my_plugin_update_user_data');
Сохраняем время последнего входа
Безопасность
Валидация входных данных: ID пользователя и ключ мета-данных проверяются на корректность
Санитизация: Значение мета-данных должно быть очищено в соответствии с типом данных
Рекомендации: При выводе данных используйте функции для экранирования, такие как esc_html()
— Связанные функции
Получает мета-данные пользователя
Удаляет мета-данные пользователя
— Хуки
Фильтрует данные перед их обновлением
— Примечания
– Ограничения
Не обновляет мета-данные для несуществующих пользователей
– Частые проблемы
- Неверный ID пользователя приводит к ошибке
- Неправильный тип данных мета-данных может вызвать проблемы