Wordpress用PHP更新用户密码

t40tm48m  于 2022-12-02  发布在  PHP
关注(0)|答案(4)|浏览(182)

我有一个使用Wordpress进行身份验证的Web应用程序。我有一个帐户选项页面。打开后,它包含一个密码更新部分。我将其发布到PHP脚本中并运行以下代码:
wp_update_user(array('ID' => getUserIDWP(), 'user_pass' => $_POST['newpass']))
它会让我退出当前的WordPress会话,但当我试图用我在那里指定的密码重新登录时,它会说我输入了一个错误的密码。如果有人能在这个问题上提供一些帮助,我将不胜感激。
注意:getUserIDWP()函数是$current_user->ID;和其他相关内容的别名。

gpnt7bae

gpnt7bae1#

尝试下面的代码,它不会在更改密码后注销您,它也可以与 AJAX 一起工作。而且,在它之后不需要重置cookie/会话。

$userdata = [
    'ID'        => 1,
    'user_pass' => 'new_password',
];

wp_update_user( $userdata ); // this will handle encryption and everything
6g8kf2rb

6g8kf2rb2#

使用update_user_metawp_update_user更新'user_pass'对我来说很有效:

update_user_meta($user_id, 'user_pass', $newpassword);
wp_update_user( array ('ID' => $user_id, 'user_pass' => $newpassword) ) ;
c0vxltue

c0vxltue3#

我知道很晚了但是...
我遇到了类似的问题,结果发现usermeta表中有一个名为user_pass的条目。我删除了该条目,然后可以再次登录。
也许这能帮到什么人--我花了一个小时想弄清楚我做错了什么。

cyvaqqii

cyvaqqii4#

试试这个

global $current_user;
    $password = 'Abc123456';
    wp_set_password($password, $current_user->ID);

相关问题