Проверка зарегистрированного пользователя !
-
Все зарегистрированы пользователи в WordPress-е на находятся в таблице
wp_users. Какой из параметров в таблице user_status или user_activation_key — отвечает, что пользователь подтвердил свою регистрацию через письмо которое ему отправляется на емейл.
-
Вордпресс не требует от пользователей подтверждения регистрации на емейл. Поле
user_statusуже много лет ни для чего не используется.user_activation_leyиспользуется при восстановлении забытого пароля. 🙂Спасибо! А где проходит проверка на корректность введенного логина и пароль. Я хотел бы еще добавить проверку на подтверждение регистрации через письмо которое ему отправляется на емейл. Например проверять еще по user_status или в другую колонку.
Другими словами если user_status = 1 — пускаем пользователя, а если user_status = 0 тогда просим подтверждения регистрации через письмо.
Попробуйте поискать соответствующий плагин.
Может посоветуете какой?
ПО описанию подходит этот:
http://wordpress.org/extend/plugins/theme-my-login/ПО описанию подходит этот:
http://wordpress.org/extend/plugins/theme-my-login/Очень много всего, сложно разобраться. Может уже кто-то делал подобное или подскажет где проходит проверка на корректность введенного логина и пароль, и производится вход.
^^ Всё это происходит в файле
wp-login.php, но я очень не советую жтот файл редатировать, можно что-нибудь поломать. 😉 Тем более, что всё равно изменения, которые ты внесёшь в этот файл, потеряются после очередного обновления вордпресса. Так что для реализации дополнительного функционала придётся писать свой собственный плагин. 😉 Я рекомендую всё-таки воспользоваться существующим плагином. 🙂Можете посмотреть специализированные плагины на эту тему, может что и подберете себе в коллекцию…
Может уже кто-то делал подобное или подскажет где проходит проверка на корректность введенного логина и пароль, и производится вход.
Можно скопировать функцию wp_authenticate() из
wp-includes/pluggable.phpв собственный плагин и внести необходимые изменения. Там есть и пример возврата ошибки.Спасибо!!!
Выяснил некоторые подробности, оказывается после регистрации пользователя (по умолчанию) в WordPress-е отправляется письмо, уже с генерированным паролем для пользователя.
Где происходит генерация таких паролей и где происходит отправка таких писем?
В функциях wp_generate_password() и wp_new_user_notification().
Обе функции расположены в том же файле, т.е. их также можно копировать в собственный плагин и вносить изменения уже туда.
Это только набросок плагина, сильно не «пинать» ))
Юзер зарегистрировался и к нему пришло письмо, что ему надо активировать себя, он проходит по ссылке и попадает в свой профиль, где ему предлагается активация. Он берет ключ из письма ( в моем случае из БД :)) и копирует его в поле и нажимает «сохранить». В итоге он счастливчик! (подробнее в комментариях к коду)
Вот набросок кода. Из доработки осталось только добавить в письмо $meta_value (ключ активации) и так, по мелочи… 🙂
То бишь, у кого $meta_value = 1, то они читали письмо и все-таки зашли 🙂И еще, в таблице wp_users в колонке user_pass присутствуют пароли пользователей, они зашифрованы каким то образом.
Как мне зашифровать пароль так чтобы при при входе такой пароль воспринимается системой? И где шифрует их WordPress? )
С помощью функции wp_hash_password(). Есть также wp_set_password(), которая шифрует пароль и сразу присваивает его пользователю.
Если есть возможность — смотрите код, там есть ответы на все вопросы 🙂
Когда использую
<?php echo wp_hash_password(«password»); ?>
Каждый раз меняется значение шифровки. Тут что-то не то!
Тема «Проверка зарегистрированного пользователя !» закрыта для новых ответов.