Ich versuche, eine völlig andere Profilseite zu erstellen (nicht die von Wordpress bereitgestellte), da das Layout und das Verhalten der Standardprofilseite für die Benutzer zu "Wordpress" ist. Jetzt ist es mir gelungen, eine Seite zu präsentieren, auf der Benutzer-Metadaten wie Vorname, Nachname, Ort, Postleitzahl usw. geändert werden können.
Was mich nun ratlos gemacht hat, ist das Ändern des Passworts des Benutzers. Gibt es eine integrierte WordPress-Funktion, z. B. change_user_password ($ user_id, $ new_password)? Ich bin überrascht, dass ich nichts suchen kann, was dies tut.
Schlimmer noch, ich mache eine UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id
, aber ich wäre wirklich erstaunt, wenn es für diese keine Funktion gibt.
quelle
md5
für Passwörter in WordPress ist veraltet (aber immer noch abwärtskompatibel - das nächste Mal, wenn sich Benutzer anmelden, wird das Passwort erneut gehasht und gespeichert). Es ist besser, die API zu durchlaufen, damit das aktuelle und komplexere Hashing-Schema verwendet wird.Antworten:
Siehe Referenz für Details.
quelle
wp_update_user
führt dazu, dass ungefähr 14 Abfragen ausgeführt werden.Ein einfacher
wp_update_user(array('ID' => $userid, 'user_pass' => 'myNeWpaSSword'))
Wille tut alles für Sie -wp_update_user()
(Codex) .Nebenbei bemerkt: Kennen Sie das Thema Mein Login (Wordpress Plugin) ? Es kann Ihnen eine Front-End-Seitenprofilseite zur Verfügung stellen.
quelle