Регистрация пользователя админом — пароль сразу на почту
Привет, есть ли возможность в WP сделать так, чтобы когда админ регистрирует нового пользователя, на почту юзера приходило письмо сразу с логином и паролем, установленным админом, без фразы
Чтобы задать пароль, перейдите по следующей ссылке:
http://site.ru/wp-login.php?action=rp&key=yFBgAF5h4HuWylbgpqzM&login=Test
Это нужно потому, что страница, на которой юзер будет логиниться, не связана с WP (движок используется только как база данных), фронт с движком не связан. Юзеры сами не регистрируются, их добавляет только админ. Переход на штатную страницу WP для смены пароля невозможен.
Заранее благодарен за развернутые ответы, за примеры кода - отдельный респект!
Начнем с того, что передавать пароль в письме это небезопасно. Пароль пользователя никто и никогда не должен видеть кроме пользователя. Ну и админа, передвать его в письме, ядик которого могут взломать, могут посмотреть админы сервера и т.д. - это не секьюрно!
В вашем случае вы можете изменить текст письма и отправлять юзера на ваше фронт-приложение, на котором сделать аналогичную форму указания пароля как в ВП и через вп-апи изменять пароль пользователя в БД.
Но если это не подходит, то вы можете:
Проблемой тут будет узнать какой там у юзара реальный пароль, потому что на этот момент пароль в БД уже захеширован. Это можно сделать заранее сохранив чистый пароль куда-нибудь в глобальную переменую, константу или свойство класса, которое будет доступно в хуке изменение текста письма.
Пароль можно получить на хук: user_register - он по идее должен быть в параметре
$userdata['user_pass']
.Хук
user_register
всегда сратабывает и срабатывает раньше чем хукwp_new_user_notification_email
, поэтому на момент изменения текста письма у вас будет пароль, который вы сохраните заранее где-то в рантайме.Но еще раз повторюсь - так не делается - пароль в письме не передается! Именно поэтому вп в хуке изменения письма не передает чистый пароль - чтобы неповадно было!