Я использую форму и функцию 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 со ссылкой для выхода из системы: 