Actualizar metadatos de usuario

23 oct 2015, 12:25:43
Vistas: 15.5K
Votos: 1

Estoy teniendo dificultades para encontrar cómo actualizar un solo metadato del usuario actual. Por ejemplo, si quiero actualizar automáticamente su nombre de pila. Estoy usando:

$current_user = wp_get_current_user();

para obtener los datos del usuario actual en lugar de especificar un ID de usuario particular.

0
Todas las respuestas a la pregunta 1
2

Una de las dos funciones que necesitarás; update_user_meta o add_user_meta - la mayoría de las veces solo necesitarás la primera, pero vale la pena notar la diferencia:

add_post_meta solo creará una entrada si el parámetro $unique es falso, o si no hay datos existentes para $meta_key. update_post_meta agregará si aún no existen datos, de lo contrario actualizará, dependiendo de si/qué especificaste para $prev_value.

Ambas funciones toman los mismos tres parámetros iniciales; un ID de usuario, una clave meta y un valor:

$current_user = wp_get_current_user();
$current_user->ID; // El ID del usuario actual
$current_user_id = get_current_user_id(); // Alternativa para obtener el ID del usuario actual

// Actualizar el nombre del usuario actual
update_user_meta( $current_user_id, 'first_name', 'Jimbo' );

// Actualizar el nombre de un usuario específico
update_user_meta( 4 /* ID de usuario 4 */, 'first_name', 'Janey' );
23 oct 2015 13:47:07
Comentarios

Gracias, funciona genial - solo una pregunta más, si el meta era numérico (ej. Edad) y quisiera incrementarlo en 1, ¿qué debería insertar aquí?

Garland Garland
23 oct 2015 14:57:47

Obtén el valor con get_user_meta( $id, 'age' ), incrementa en 1 (o establécelo en 1 si actualmente es nulo), luego actualiza.

TheDeadMedic TheDeadMedic
23 oct 2015 15:21:38