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 ?


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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.