wp_update_user() nu actualizează user_data

5 iul. 2016, 11:02:09
Vizualizări: 23.8K
Voturi: 4

Cu codul de mai jos, încerc să actualizez adresa de email a unui utilizator. $_POST este corect, dar datele nu sunt salvate în tabela wp_users.

$user_id = $_POST['ID']; // ID corect
wp_update_user( $user_id, 'user_email', $_POST['user_email']); // adresă de email corectă

Am încercat și această variantă fără succes:

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

Ce nu funcționează corect la această actualizare?

0
Toate răspunsurile la întrebare 1
0

Funcția necesită un array cu parametrii. Vezi The Codex. De asemenea, asociezi parametrul cu valoarea: ex. 'user_email' => $_POST['user_email'].

În exemplul tău, codul ar trebui să arate astfel:

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

De asemenea, un sfat important: ar trebui să validezi datele. În special datele din array-ul $_POST. Poate faci deja asta, și nu este în exemplul tău.

5 iul. 2016 11:08:52