update_user_meta() WP 3.0.0

Оновлює мета поля вказаного користувача.

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

Функцію можна використовувати замість add_user_meta() . Під час створення поля викликає add_user_meta() з параметром $unique = true . Це означає, що add_user_meta() зручно використовувати лише у випадках, коли потрібно створити кілька полів з однаковими ключами, а в інших випадках зручніше використовувати цю функцію.

Використовуйте параметр $prev_value , коли потрібно визначити яке саме поле з кількох з однаковими ключами, потрібно оновити.

Функція не видаляє поле, якщо передано пусте значення $meta_value .

Працює на основі:
update_metadata()
Основа для:
update_user_option()
1 раз – 0.000987 сек
(повільно) | 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
(рядок/масив/число/об’єкт/логічний)
Старе значення. Потрібно вказувати коли користувач може мати кілька полів з однаковими ключами і нам потрібно оновити певне з них.


За замовчуванням: ”

Приклади

0

#1 Базовий приклад

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

update_user_meta( 1, 'mood', 'good' )
0

#2 Оновимо сайт користувача

У цілях полів користувача зберігаються звичні нам дані: Нік, Ім’я, Прізвище, Сайт і т.д. Приклад нижче показує, як оновити сайт користувача з ID 1:

$user_id = 1;
$website = 'http://wordpress.org';
update_user_meta($user_id, 'user_url', $website);
0

#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() 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 );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *