2011-05-21 32 views
0

我有一个Web应用程序使用Wordpress进行身份验证。我有一个帐户选项页面。打开时,它包含密码更新部分。我张贴这对我的PHP脚本并运行此代码:WordPress的更新用户的密码与PHP

wp_update_user(array('ID' => getUserIDWP(), 'user_pass' => $_POST['newpass']))

它记录了我从我目前的WordPress的会议,但是当我尝试重新登录,与我那里指定的密码,它说我说输入了不正确的密码。如果有人能够阐明这个问题,我会很感激。

注意:getUserIDWP()函数是$current_user->ID;和其他相关内容的别名。

+0

wp你有什么版本?我在usermeta表中看不到'user_pass'条目。 – Frank 2012-08-29 16:22:50

+0

我实际上并不记得我用过的是什么版本 - 但是当我问这个问题时它是最新版本。可能是3.0或3.1的早期版本。 – 2012-09-02 15:12:46

回答

2

它为我同时使用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)) ; 
+0

它的工作:) Thanx – 2012-10-02 00:07:28

+0

是否wp_set_password工作?你需要首先散列新密码吗? – 2014-01-06 08:52:34

0

我知道它的晚,但...

我也有类似的问题,它原来有名为user_pass的usermeta一个表项。我删除了该条目,我可以再次登录。

也许这会帮助别人 - 我花了最后一个小时试图找出我做错了什么。

5

的WordPress在如下WP的新版本提供了简单的功能。

wp_set_password($new_password, $user_id);