Як змінити пароль користувача програмно


17

Я намагаюся створити зовсім іншу сторінку профілю (не ту, яку надає Wordpress), оскільки макет і відчуття сторінки профілю за замовчуванням занадто "Wordpress" для користувачів. Тепер я успішно представляю сторінку, яка може змінювати метадані користувачів, такі як ім’я, прізвище, місто, поштовий індекс тощо.

Тепер те, що натрапило на мене, - це зміна пароля користувача. Чи є якась вбудована функція wordpress, скажімо, change_user_password ($ user_id, $ new_password)? Я здивований, що я не можу шукати нічого, що робить це.

Гірше стає гірше, що я роблю UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id, але я був би дуже вражений, якщо для цього немає жодної функції.


1
md5для паролів у WordPress застаріла (але все ще сумісна назад - наступного разу пароль для входу користувача буде повторно хеширован і повторно збережений). Краще пройти API, щоб використовувати поточну і більш складну схему хешування.
Рарст

Так, я теж здогадуюсь. Паролі, що зберігаються в базі даних, не відповідають MD5 вхідному паролю. Так так, це дійсно перепрофільовано.
Арді Арам

Відповіді:


23
wp_set_password( $password, $user_id );

Деталі див. У посиланні .


1
Я голосував за це по суті, тому що це призводить до єдиного запиту sql. Чудово, якщо пароль є, все, що ви хочете оновити. wp_update_userпризводить до запуску близько 14 запитів.
Джон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.