add_user_meta () vs update_user_meta ()


10

Я дивлюся на документи для add_user_meta()проти update_user_meta().

Якщо поточний meta_key не існує для користувача, update_user_meta()автоматично додасть мета_кей для цього користувача або вам доведеться спочатку визначити meta_key add_user_meta()?



Не помітили цього. У мене виникли проблеми з тим, що метаси не додаються, і не знаю, чи add_user_meta()потрібно спочатку їх визначити.
Тім Пламмер

1
Отже, вирішено тоді?
s_ha_dum

Ця її частина, так - Дякую. Ще доведеться налагоджувати ...: /
Тім Пламмер

Відповіді:


15

Ви вже з’ясували, що за допомогою, update_user_meta()якщо мета-поля для користувача не існує, воно буде додане. тобто update_user_meta()може виконати завданняadd_user_meta()

Однак різниця між ними полягає return values

update_user_meta ()

повертає False, якщо не було внесено змін (якщо нове значення було таким же, як попереднє значення) або якщо оновлення не вдалося, umeta_id, якщо значення було іншим і оновлення було успішним.

ПРИМІТКА: станом на v3.4.2 він повертає umeta_id на успіх (замість істинного) та false на помилку


add_user_meta ()

повернути ідентифікатор основного ключа для успіху . Немає значення (порожнє) для відмови. Основний ідентифікатор ключа для успіху.


Я хочу додати, що add_user_meta не може оновити існуючий user_meta, якщо для унікального прапора встановлено значення true.
TurtleTread

1

Дякую за ваше пояснення, я просто додам до вашого update_user_meta()також повернути істину, якщо вдале оновлення відбулося.

Коротше кажучи - він повертає мета-ідентифікатор, якщо ключ не існував, вірний при успішному оновленні, помилковий при відмові.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.