wp_update_user() не обновляет user_data

5 июл. 2016 г., 11:02:09
Просмотры: 23.8K
Голосов: 4

Следующим кодом я пытаюсь обновить email пользователя. $_POST передается правильно, но данные не сохраняются в таблицу wp_users.

$user_id = $_POST['ID']; // правильный ID
wp_update_user( $user_id, 'user_email', $_POST['user_email']); // правильный email

Также пробовал этот вариант без успеха:

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

В чем проблема этого обновления?

0
Все ответы на вопрос 1
0

Функции необходим массив с параметрами. Смотрите The Codex. Также, вы сопоставляете параметр со значением: например, 'user_email' => $_POST['user_email'].

В вашем примере код должен выглядеть так:

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

Также, важное замечание: вы должны проверять данные. Особенно данные из массива $_POST. Возможно, вы это делаете, и это не отражено в вашем примере.

5 июл. 2016 г. 11:08:52