用户在WordPress中执行密码重置后,如何获取新密码的哈希值?
我在我的functions.php文件中使用钩子after_password_reset,但是$ 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)创建新密码的另一个哈希,但是我想要数据库中的确切哈希值。
答案 0 :(得分:0)
操作执行时,表中的用户已更新,但是内存中的用户对象未更新。
您应该能够像这样从数据库加载更新的用户对象:
$updated_user = get_user_by('id', $user->ID);
var_dump($updated_user->user_pass);