Cara mengubah kata sandi pengguna secara terprogram


17

Saya mencoba membuat halaman profil yang sama sekali berbeda (bukan yang disediakan oleh Wordpress), karena tata letak dan nuansa halaman profil default terlalu "Wordpress" untuk pengguna. Sekarang saya berhasil menampilkan halaman yang dapat mengubah data meta pengguna seperti nama depan, nama belakang, kota, kode pos, dll.

Sekarang yang membuat saya bingung adalah mengubah kata sandi pengguna. Apakah ada fungsi wordpress bawaan, katakan change_user_password ($ user_id, $ new_password)? Saya terkejut bahwa saya tidak dapat mencari apa pun yang melakukan ini.

Lebih buruk datang ke terburuk saya melakukan UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id, tetapi saya akan benar-benar kagum jika tidak ada fungsi untuk yang satu ini.


1
md5untuk kata sandi di WordPress sudah tidak digunakan lagi (tetapi masih kompatibel ke belakang - lain kali kata sandi pengguna akan di-hash dan disimpan kembali). Lebih baik melalui API sehingga skema hashing saat ini dan lebih kompleks digunakan.
Jarang

Ya, saya itu dugaan saya juga. Kata sandi yang disimpan dalam database tidak cocok dengan MD5 dengan kata sandi yang masuk. Jadi ya, ini memang diulang-ulang.
Ardee Aram

Jawaban:


23
wp_set_password( $password, $user_id );

Lihat referensi untuk detailnya.


1
Saya memilih ini pada dasarnya karena ini menghasilkan permintaan sql tunggal. Luar biasa, jika kata sandinya, semua yang ingin Anda perbarui. wp_update_usermenghasilkan sekitar 14 kueri yang berjalan.
John

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.