wp_update_user() no actualiza user_data

5 jul 2016, 11:02:09
Vistas: 23.8K
Votos: 4

Con el siguiente código, intento actualizar la dirección de correo electrónico de un usuario. El $_POST es correcto, pero los datos no se guardan en la tabla wp_users.

$user_id = $_POST['ID']; // ID correcto
wp_update_user( $user_id, 'user_email', $_POST['user_email']); // dirección de correo correcta

También probé esto sin éxito:

wp_update_user( array( $user_id, 'user_email', $_POST['user_email']) );         

¿Qué está mal con esta actualización?

0
Todas las respuestas a la pregunta 1
0

La función necesita un array con los parámetros. Consulta El Codex. Además, debes mapear el parámetro con el valor: ej. 'user_email' => $_POST['user_email'].

En tu ejemplo, el código debería verse así:

    $user_id = (int) $_POST[ 'ID' ];
    wp_update_user( array(
        'ID' => $user_id,
        'user_email' => $_POST[ 'user_email' ]
   ) );

También, un consejo importante: debes validar los datos. Especialmente los datos del array $_POST. Tal vez ya lo estés haciendo y no esté en tu código de ejemplo.

5 jul 2016 11:08:52