现在让我很困扰的是更改用户密码。是否有内置的wordpress函数,例如change_user_password($ user_id,$ new_password)?我很惊讶我找不到能做到这一点的东西。
更糟糕的是,我正在执行
UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id
,但是如果没有此功能,我会感到非常惊讶。#1 楼
wp_set_password( $password, $user_id );
有关详细信息,请参见参考。
评论
我之所以投票赞成,是因为这会导致单个sql查询。好的,如果密码是,那么您想要更新的所有内容。 wp_update_user导致大约14个查询运行。
–约翰
2012年7月16日19:31
#2 楼
一个简单的wp_update_user(array('ID' => $userid, 'user_pass' => 'myNeWpaSSword'))
即可为您做所有事情-wp_update_user()
(Codex)。在旁注:您知道主题“我的登录名”(Wordpress插件)吗?它可以为您提供前端配置文件页面。
评论
WordPress中的md5密码已弃用(但仍向后兼容-下次用户登录密码将被重新哈希并重新保存)。最好使用API,以便使用当前和更复杂的哈希方案。是的,我也是我的猜测。数据库中存储的密码与输入密码不匹配MD5。是的,它确实得到了修复。