add_user_meta () vs update_user_meta ()

10

Ich freue mich auf die Dokumentation für add_user_meta()vs update_user_meta().

Wenn der aktuelle meta_key für einen Benutzer nicht vorhanden ist, wird update_user_meta()der meta_key für diesen Benutzer automatisch hinzugefügt, oder müssen Sie add_user_meta()zuerst den meta_key mit definieren ?

Tim Plummer
quelle
Das übersehen. Ich hatte Probleme mit den nicht hinzugefügten Metas und wusste nicht, ob add_user_meta()sie zuerst definiert werden mussten.
Tim Plummer
1
Also dann gelöst?
s_ha_dum
Dieser Teil davon, ja - Danke. Muss noch debuggen ...: /
Tim Plummer

Antworten:

15

Sie haben bereits herausgefunden, dass update_user_meta()das Metafeld für den Benutzer hinzugefügt wird, wenn es nicht vorhanden ist. dh update_user_meta()kann die Aufgabe von erledigenadd_user_meta()

Der Unterschied zwischen ihnen ist jedoch der return values

update_user_meta ()

Gibt False zurück, wenn keine Änderung vorgenommen wurde (wenn der neue Wert mit dem vorherigen Wert identisch war) oder wenn die Aktualisierung fehlgeschlagen ist, umeta_id, wenn der Wert unterschiedlich war und die Aktualisierung erfolgreich war.

HINWEIS: Ab Version 3.4.2 wird die umeta_id bei Erfolg (anstelle von true) und false bei einem Fehler zurückgegeben


add_user_meta ()

Rückkehr Primärschlüssel - ID für den Erfolg . Kein Wert (leer) für Fehler. Primärschlüssel-ID für den Erfolg.

Dipesh KC
quelle
Ich möchte hinzufügen, dass add_user_meta vorhandene user_meta nicht aktualisieren kann, wenn das übergebene eindeutige Flag auf true gesetzt ist.
TurtleTread
1

Vielen Dank für Ihre Erklärung, ich werde nur zu Ihrer hinzufügen, die update_user_meta()auch true zurückgibt, wenn ein erfolgreiches Update stattgefunden hat.

Kurz gesagt - Gibt die Meta-ID zurück, wenn der Schlüssel nicht vorhanden war, true bei erfolgreicher Aktualisierung und false bei einem Fehler.

MAK
quelle