Получить новый хешированный пароль после сброса пароля в WordPress - PullRequest
0 голосов
/ 20 декабря 2018

Как получить хэшированное значение нового пароля после того, как пользователь выполнит сброс пароля в WordPress?

Я использую хук, after_password_reset , в моемФайл functions.php, но $ user-> user_pass предоставляет значение хешированного пароля old (хешированный пароль до сброса пароля), а $ new_pass предоставляет простой текст нового пароля (не хэшируется).

Я не понимаю, почему $ user-> user_pass предоставляет старый пароль, поскольку перехват выполняется после сброса нового пароля.

Пример кода:

function action_after_password_reset( $user, $new_pass ) {

    $hashed_old_pass = $user->user_pass; // old hashed password, before password reset

    $unhashed_new_pass = $new_pass; // plain text of new password, unhashed

};
add_action( 'after_password_reset', 'action_after_password_reset', 10, 2 ); 

Для меня важно, чтобы я получил точное хешированное значение нового пароля, который хранится в базе данных.Я понимаю, что мог бы использовать wp_hash_password ($ new_pass) для создания еще одного хэша нового пароля, но мне нужно точное значение хэширования в базе данных.

1 Ответ

0 голосов
/ 20 декабря 2018

В момент выполнения действия пользователь обновился в таблице, но пользовательский объект в памяти не обновляется.

Вы должны иметь возможность загрузить обновленный пользовательский объект из базы данных, напримерэто:

$updated_user = get_user_by('id', $user->ID);
var_dump($updated_user->user_pass);
...