ユーザーのパスワードをプログラムで変更する方法


16

デフォルトのプロファイルページのレイアウトと雰囲気はユーザーにとって「Wordpress」であるため、まったく異なるプロファイルページ(Wordpressが提供するものではありません)を作成しようとしています。これで、名、姓、市、郵便番号などのユーザーメタデータを変更できるページを表示できるようになりました。

困ったのは、ユーザーのパスワードを変更することです。change_user_password($ user_id、$ new_password)などの組み込みのワードプレス機能はありますか?私はこれを行うものを探すことができないことに驚いています。

さらに悪いことに、私がやっていることは最悪ですUPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_idが、これに機能がない場合は本当に驚かされます。


1
md5WordPressのパスワードの使用は推奨されていません(ただし、下位互換性があります-次回のユーザーログインパスワードは再ハッシュおよび再保存されます)。現在のより複雑なハッシュスキームが使用されるように、APIを使用することをお勧めします。
11

ええ、私もそう思います。データベースに保存されているパスワードは、着信パスワードとMD5を一致させません。ええ、確かに再ハッシュされます。
アーディーアラム

回答:


22
wp_set_password( $password, $user_id );

詳細についてはリファレンスをご覧ください。


1
基本的にこれは単一のSQLクエリになるため、私はこれに賛成票を投じました。パスワードがあれば、更新したいものすべてがすばらしい。wp_update_user約14件のクエリが実行されます。
ジョン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.