我没有使用默认的WP重置密码表单,而是创建了自己的表单,我被这个准备好的语句难住了。
我试图通过检查用户的user\\u登录名和user\\u activation\\u密钥来更新用户的密码。当我运行这个查询并返回结果时,我得到的是int(0)的返回值。它似乎没有返回任何用户行。
我还回显每个POST变量,以确保其值是正确的,因此我不确定问题所在。
$newpassword = $_POST[\'newpass\'];
$wp_hasher = new PasswordHash(16, FALSE);
$hashedPwd = wp_hash_password($newpassword);
$useremail = $_POST[\'useremail\'];
$key = $_POST[\'key\'];
$resetQuery = $wpdb -> query($wpdb -> prepare("UPDATE wp_users SET user_pass = %s, user_activation_key = \'\' WHERE user_login = %s AND user_activation_key = %s",
$hashedPwd, $useremail, $key));
如果有人能帮助我,那就太好了!谢谢