add_user_meta () vs update_user_meta ()

10

Estoy mirando a los documentos de add_user_meta()frente update_user_meta().

Si la meta_key actual no existe para un usuario, ¿ update_user_meta()agregará automáticamente la meta_key para ese usuario o add_user_meta()primero debe definir la meta_key ?

Tim Plummer
fuente
3
¿Qué no está claro en los documentos? "Si el metacampo para el usuario no existe, se agregará".
s_ha_dum
Pasó por alto eso. Estaba teniendo problemas con que no se agregaran las metas y no sabía si era add_user_meta()necesario definirlas primero.
Tim Plummer
1
Entonces, ¿resuelto entonces?
s_ha_dum
Esta parte, sí, gracias. Todavía tengo que depurar ...: /
Tim Plummer

Respuestas:

15

Ya ha descubierto que, update_user_meta()si no existe el metacampo para el usuario, se agregará. es decir, update_user_meta()puede hacer la tarea deadd_user_meta()

Sin embargo, la diferencia entre ellos es la return values

update_user_meta ()

devuelve False si no se realizó ningún cambio (si el nuevo valor fue el mismo que el valor anterior) o si la actualización falló, umeta_id si el valor fue diferente y la actualización fue exitosa.

NOTA: a partir de v3.4.2, devuelve el umeta_id en caso de éxito (en lugar de verdadero) y falso en caso de error


add_user_meta ()

devolver la identificación de la clave principal para el éxito . Sin valor (en blanco) por falla. ID de clave principal para el éxito.

Dipesh KC
fuente
Quiero agregar que add_user_meta no puede actualizar user_meta existente si el distintivo único pasado está establecido en verdadero.
TurtleTread
1

Gracias por su explicación, simplemente agregaré a la suya update_user_meta()también la respuesta verdadera si se realizó una actualización exitosa.

En resumen: devuelve Meta ID si la clave no existía, verdadero en la actualización exitosa, falso en caso de falla.

MAK
fuente