Я пытаюсь создать совершенно другую страницу профиля (не ту, что предоставляется Wordpress), поскольку макет и вид страницы профиля по умолчанию слишком "Wordpress" для пользователей. Теперь мне удается представить страницу, которая может изменять метаданные пользователя, такие как имя, фамилия, город, почтовый индекс и т. Д.
Что меня озадачило, так это изменение пароля пользователя. Есть ли встроенная функция wordpress, скажем change_user_password ($ user_id, $ new_password)? Я удивлен, что я не могу искать ничего, что делает это.
Хуже всего то, что я делаю UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id
, но я был бы очень удивлен, если бы для этого не было функции.
plugins
plugin-development
Арди Арам
источник
источник
md5
для паролей в WordPress устарела (но все еще обратно совместима - при следующем входе пользователя пароль будет повторно хеширован и повторно сохранен). Лучше пройти через API, чтобы использовать текущую и более сложную схему хеширования.Ответы:
Смотрите ссылку для деталей.
источник
wp_update_user
в результате работает около 14 запросов.Простой
wp_update_user(array('ID' => $userid, 'user_pass' => 'myNeWpaSSword'))
все сделает за вас -wp_update_user()
(Кодекс) .На заметку: знаете ли вы о теме мой логин (плагин Wordpress) ? Он может предоставить вам страницу профиля переднего конца.
источник