Выйти из WordPress после смены пароля сообщение «что-то пошло не так» - PullRequest
0 голосов
/ 28 июня 2019

Я использую форму и функцию wp_update_user, чтобы позволить пользователям менять свой пароль в интерфейсе WordPress. Для этого я использую функцию ajax, которая выполняет wp_update_user:

    /* CHANGE PASSWORD OF USER */
    if ( !empty($pass1 ) && !empty( $pass2 ) ) {
        if ( $pass1 == $pass2 ) {
            wp_update_user( array( 'ID' => $userID, 'user_pass' => esc_attr( $pass2 ) ) );
            echo "<div class='message-hub-success'>Passsword changed!</div>";
        } else {
             echo "<div class='message-hub-error'>The passwords you entered do not match.  Your password was not updated.</div>"; 
        }
    }

Смена пароля работает как положено. Но когда пользователь нажимает на ссылку выхода из системы после смены пароля, я получаю сообщение об ошибке «что-то пошло не так» вместо выхода из системы и функции перенаправления. Моя ссылка для выхода из системы:

<a href="<?php echo wp_logout_url( home_url() ); ?>">Logout</a>

Сообщение о том, что что-то пошло не так, отображается не на странице, а на странице WordPress со ссылкой для выхода из системы: enter image description here

1 Ответ

0 голосов
/ 28 июня 2019

Причина в том, что при обновлении пароля куки пользователя очищаются (см. Документацию для wp_update_user ).

Затем во время выхода из системы сеанс пользователя недоступен, что вызывает возникшую у вас проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...