update_user_meta()
Оновлює мета поля вказаного користувача.
Крім оновлення існуючого поля, також створить поле, якщо поля з таким ключем ще немає.
Функцію можна використовувати замість add_user_meta() . Під час створення поля викликає add_user_meta() з параметром $unique = true . Це означає, що add_user_meta() зручно використовувати лише у випадках, коли потрібно створити кілька полів з однаковими ключами, а в інших випадках зручніше використовувати цю функцію.
Використовуйте параметр $prev_value , коли потрібно визначити яке саме поле з кількох з однаковими ключами, потрібно оновити.
Функція не видаляє поле, якщо передано пусте значення $meta_value .
update_metadata()
update_user_option()
(повільно) | 50000 разів – 45.34 сек
(дуже повільно) |
PHP 7.0.8, WP 4.6.1
Хуків немає.
Повертає
int|true|false
.
- true – при успішному оновленні.
- false – при невдачі або коли для оновлення було передано значення, яке вже є в бд.
- ID первинного поля таблиці метаполів (umeta_id), коли створено нове поле.
Використання
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
. Давайте оновимо його значення або створимо поле, якщо його немає.
update_user_meta( 1, 'mood', 'good' )
#2 Оновимо сайт користувача
У цілях полів користувача зберігаються звичні нам дані: Нік, Ім’я, Прізвище, Сайт і т.д. Приклад нижче показує, як оновити сайт користувача з ID 1:
$user_id = 1; $website = 'http://wordpress.org'; update_user_meta($user_id, 'user_url', $website);
#3 Перевірка на помилку
Цей приклад показує як перевірити чи оновилося поле:
$user_id = 1; $new_value = 'good'; // Поверне false, якщо попереднє значення збігається із $new_value. if( ! update_user_meta( $user_id, 'some_meta_key', $new_value ) ){ echo "Поле не оновлено"; } // Отримаємо значення поля та перевіримо його з новим значенням $new_value if ( get_user_meta($user_id, 'some_meta_key', true ) != $new_value ) wp_die('Помилка: нове значення не записалось.');
список змін
З версії 3.0.0 | Введено. |
Код update_user_meta() update user meta WP 6.0.2
function update_user_meta( $user_id, $meta_key, $meta_value, $prev_value = '' ) { return update_metadata( 'user', $user_id, $meta_key, $meta_value, $prev_value ); }