Cách thay đổi mật khẩu người dùng theo chương trình


16

Tôi đang cố gắng tạo một trang hồ sơ hoàn toàn khác (không phải trang do Wordpress cung cấp), vì bố cục và cảm nhận của trang hồ sơ mặc định quá "Wordpress" cho người dùng. Bây giờ tôi thành công khi có thể trình bày một trang có thể sửa đổi dữ liệu meta của người dùng như tên, họ, thành phố, mã zip, v.v.

Bây giờ điều làm tôi bối rối là thay đổi mật khẩu của người dùng. Có bất kỳ chức năng wordpress tích hợp nào không, giả sử thay đổi_user_password ($ user_id, $ new_password)? Tôi ngạc nhiên rằng tôi không thể tìm kiếm bất cứ điều gì làm điều này.

Tệ hơn nữa là tôi đang làm điều tồi tệ nhất UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id, nhưng tôi sẽ thực sự ngạc nhiên nếu không có chức năng này.


1
md5đối với mật khẩu trong WordPress không được chấp nhận (nhưng vẫn tương thích ngược - mật khẩu đăng nhập lần sau của người dùng sẽ được băm lại và lưu lại). Tốt hơn là thông qua API để sử dụng lược đồ băm hiện tại và phức tạp hơn.
Hết

Vâng, tôi cũng đoán như vậy. Mật khẩu được lưu trữ trong cơ sở dữ liệu không khớp với MD5 với mật khẩu đến. Vì vậy, yeah, nó thực sự được thử lại.
Ardee Aram

Câu trả lời:


22
wp_set_password( $password, $user_id );

Xem tài liệu tham khảo để biết chi tiết.


1
Tôi đã bỏ phiếu này về cơ bản vì điều này dẫn đến truy vấn sql duy nhất. Tuyệt vời, nếu mật khẩu là, tất cả những gì bạn muốn cập nhật. wp_update_userkết quả trong khoảng 14 truy vấn đang chạy.
Giăng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.