add_user_meta () vs update_user_meta ()

10

Czekam na docs na add_user_meta()żywo update_user_meta().

Jeśli bieżący klucz meta nie istnieje dla użytkownika, czy update_user_meta()automatycznie doda on klucz meta dla tego użytkownika, czy musisz najpierw zdefiniować klucz meta add_user_meta()?

Tim Plummer
źródło
Przeoczyłem to. Miałem problemy z brakiem dodawania meta i nie wiedziałem, czy add_user_meta()trzeba je najpierw zdefiniować.
Tim Plummer
1
Więc rozwiązany?
s_ha_dum
Ta część, tak - Dziękuję. Nadal muszę debugować ...: /
Tim Plummer

Odpowiedzi:

15

Dowiedziałeś się już, że update_user_meta()jeśli nie istnieje pole meta dla użytkownika, zostanie ono dodane. tzn. update_user_meta()może wykonać zadanieadd_user_meta()

Różnica między nimi jest jednak taka return values

update_user_meta ()

zwraca Fałsz, jeśli nie dokonano żadnej zmiany (jeśli nowa wartość była taka sama jak poprzednia wartość) lub jeśli aktualizacja się nie powiodła, umeta_id, jeśli wartość była inna, a aktualizacja zakończyła się powodzeniem.

UWAGA: od wersji 3.4.2 zwraca umeta_id w przypadku sukcesu (zamiast prawdy) i false w przypadku niepowodzenia


add_user_meta ()

zwraca identyfikator klucza podstawowego dla sukcesu . Brak wartości (puste) dla niepowodzenia. Identyfikator klucza podstawowego do sukcesu.

Dipesh KC
źródło
Chcę dodać, że add_user_meta nie może zaktualizować istniejącej user_meta, jeśli przekazana unikalna flaga jest ustawiona na true.
TurtleTread
1

Dziękuję za wyjaśnienie, dodam do twojego update_user_meta()również zwrot prawdy, jeśli nastąpi pomyślna aktualizacja.

W skrócie - Zwraca Meta ID, jeśli klucz nie istniał, true w przypadku udanej aktualizacji, false w przypadku niepowodzenia.

MAK
źródło