Diferencias entre add_user_meta() y update_user_meta()

27 ago 2013, 18:11:59
Vistas: 27.8K
Votos: 13

Estoy revisando la documentación de add_user_meta() vs 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 es necesario definir primero la meta_key con add_user_meta()?

4
Comentarios

¿Qué no está claro en la documentación? "Si el campo meta para el usuario no existe, será añadido."

s_ha_dum s_ha_dum
27 ago 2013 18:18:34

Pasé por alto eso. Estaba teniendo problemas con que los metas no se añadían y no sabía si add_user_meta() necesitaba ser definido primero.

Tim Plummer Tim Plummer
27 ago 2013 18:19:42

¿Entonces, resuelto?

s_ha_dum s_ha_dum
27 ago 2013 18:25:47

Esta parte de ello, sí--Gracias. Todavía tengo que depurar... :/

Tim Plummer Tim Plummer
27 ago 2013 18:38:59
Todas las respuestas a la pregunta 2
1
22

Ya has descubierto que al usar update_user_meta(), si el campo meta para el usuario no existe, se añadirá. Es decir, update_user_meta() puede realizar la tarea de add_user_meta().

Sin embargo, la diferencia entre ellas está en los valores de retorno.

update_user_meta()

Devuelve False si no se realizó ningún cambio (si el nuevo valor era igual al anterior) o si la actualización falló. Retorna el umeta_id si el valor era diferente y la actualización fue exitosa.

NOTA: a partir de la versión 3.4.2, devuelve el umeta_id en caso de éxito (en lugar de true) y false en caso de fallo.


add_user_meta()

Devuelve el ID de la clave primaria en caso de éxito. Ningún valor (vacío) en caso de fallo. ID de la clave primaria en caso de éxito.

28 ago 2013 16:26:57
Comentarios

Quiero agregar que add_user_meta no puede actualizar metadatos de usuario existentes si la bandera única pasada está establecida como verdadera.

TurtleTread TurtleTread
14 mar 2018 17:14:15
0

Gracias por tu explicación, solo añadiré a la tuya que update_user_meta() también devuelve true si la actualización se realizó con éxito.

En resumen - Devuelve Meta ID si la clave no existía, true si la actualización fue exitosa, false en caso de fallo.

9 abr 2015 15:56:05