Jak programowo zmienić hasło użytkownika


17

Próbuję utworzyć zupełnie inną stronę profilu (nie tę dostarczoną przez Wordpress), ponieważ układ i styl domyślnej strony profilu jest zbyt „Wordpress” dla użytkowników. Teraz z powodzeniem mogę zaprezentować stronę, która może modyfikować meta dane użytkownika, takie jak imię, nazwisko, miasto, kod pocztowy itp.

Teraz zaskoczyła mnie zmiana hasła użytkownika. Czy jest jakaś wbudowana funkcja wordpress, powiedz hasło_użytkownika_zmiany ($ ID_użytkownika, $ nowe_hasło)? Dziwi mnie, że nie mogę poszukać niczego, co by to zrobiło.

Co gorsza, robię UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id, ale byłbym naprawdę zaskoczony, gdyby nie było żadnej funkcji dla tego.


1
md5hasła w WordPress są przestarzałe (ale nadal kompatybilne wstecz - przy następnym logowaniu użytkownik hasło zostanie ponownie skrócony i ponownie zapisany). Lepiej jest przejść przez API, aby zastosować aktualny i bardziej złożony schemat mieszania.
Rarst

Tak, też tak sądzę. Hasła przechowywane w bazie danych nie zgadzają się z MD5 z przychodzącym hasłem. Tak, tak, to jest rzeczywiście przerobione.
Ardee Aram

Odpowiedzi:


23
wp_set_password( $password, $user_id );

Zobacz odniesienie do szczegółów.


1
Głosowałem za tym zasadniczo, ponieważ powoduje to pojedyncze zapytanie SQL. Doskonale, jeśli hasło to wszystko, co chcesz zaktualizować. wp_update_userskutkuje uruchomieniem około 14 zapytań.
Jan

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.