Diferența dintre add_user_meta() și update_user_meta()

27 aug. 2013, 18:11:59
Vizualizări: 27.8K
Voturi: 13

Mă uit în documentație pentru add_user_meta() versus update_user_meta().

Dacă meta_key-ul curent nu există pentru un utilizator, va adăuga update_user_meta() automat meta_key-ul pentru acel utilizator sau trebuie să definești mai întâi meta_key-ul cu add_user_meta()?

4
Comentarii

Ce nu este clar în documentație? "Dacă câmpul meta pentru utilizator nu există, acesta va fi adăugat."

s_ha_dum s_ha_dum
27 aug. 2013 18:18:34

Am trecut cu vederea asta. Aveam probleme cu faptul că metadatele nu erau adăugate și nu știam dacă add_user_meta() trebuia definit mai întâi.

Tim Plummer Tim Plummer
27 aug. 2013 18:19:42

Deci, problema este rezolvată?

s_ha_dum s_ha_dum
27 aug. 2013 18:25:47

Această parte din ea, da--Mulțumesc. Încă mai trebuie să depanez... :/

Tim Plummer Tim Plummer
27 aug. 2013 18:38:59
Toate răspunsurile la întrebare 2
1
22

Ai aflat deja că utilizarea funcției update_user_meta() dacă câmpul meta pentru utilizator nu există, acesta va fi adăugat. Adică update_user_meta() poate face și treaba funcției add_user_meta()

Totuși, diferența dintre ele constă în valorile returnate

update_user_meta()

returnează False dacă nu s-a făcut nicio modificare (dacă noua valoare era aceeași cu valoarea anterioară) sau dacă actualizarea a eșuat, respectiv umeta_id dacă valoarea era diferită și actualizarea a avut succes.

NOTĂ: începând cu versiunea 3.4.2 returnează umeta_id la succes (în loc de true) și false la eșec


add_user_meta()

returnează ID-ul cheii primare la succes. Nicio valoare (gol) la eșec. ID-ul cheii primare la succes.

28 aug. 2013 16:26:57
Comentarii

Vreau să adaug că funcția add_user_meta nu poate actualiza un user_meta existent dacă flag-ul unique este setat pe true.

TurtleTread TurtleTread
14 mar. 2018 17:14:15
0

Mulțumesc pentru explicația ta, voi adăuga doar că funcția update_user_meta() returnează de asemenea true dacă actualizarea a avut succes.

Pe scurt - Returnează Meta ID dacă cheia nu exista, true în caz de actualizare reușită, false în caz de eșec.

9 apr. 2015 15:56:05