update_user_meta

Обновляет мета поле указанного пользователя.

Кроме обновления существующего поля, также создаст поле, если поля с таким ключом еще не существует.

Функцию можно использовать вместо add_user_meta(). При создании поля вызывает add_user_meta() с параметром $unique = true. Это означает, что add_user_meta() удобно использовать только в случаях, когда нужно создать несколько полей с одинаковыми ключами, во остальных случаях удобнее использовать эту функцию.

Используйте параметр $prev_value, когда нужно определить какое именно поле, из нескольких с одинаковыми ключами, нужно обновить.

Функция не удаляет поле, если передано пустое значение параметра $meta_value.
✈ 1 раз = 0.000987с = медленно | 50000 раз = 45.34с = очень медленно PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

Логическое: true, при успешном обновлении и false при неудаче.

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

update_user_meta( $user_id, $meta_key, $meta_value, $prev_value )
$user_id(число) (обязательный)
ID пользователя.
$meta_key(строка) (обязательный)
Ключ поля – поле meta_key в таблице wp_usermeta, для которого значение meta_value должно быть обновлено.
$meta_value(строка/массив/число/объект/логический) (обязательный)

Новое значение поля. Значение должно отличаться от предыдущего. Объекты и массивы будут автоматически сериализованы (serialized).

Если указать значение, которое уже записано метаполе (такое же), то функция не будет делать лишних запросов по обновлению старого значения на такое же новое…

$prev_value(строка/массив/число/объект/логический)
Старое значение. Нужно указывать когда у пользователя может быть несколько полей с одинаковыми ключами и нам нужно обновить определенное из них.
По умолчанию: ”

Примеры

#1 Базовый пример

Предположим у пользователя с ID 1 должно быть мета поле mood. Давайте обновим его значение или создадим поле, если его не существует.

<?php
function update_user_meta($user_id, $meta_key, $meta_value, $prev_value = '') {
	return update_metadata('user', $user_id, $meta_key, $meta_value, $prev_value);
}