Я вручную создаю пользователей программно и хочу войти в систему только что созданного пользователя. WP облегчает доступ к хешированному паролю, но не к текстовой версии. Есть ли способ использовать wp_signon () без открытого текста?
Я нашел одного человека, который утверждает, что сделал это здесь , но это не сработало для меня.
БЛАГОДАРНОСТЬ!
login
authentication
emersonthis
источник
источник
Ответы:
wp_set_auth_cookie()
войдет в систему без необходимости знать его пароль.источник
is_user_logged_in()
не работает. Знаете ли вы, если он смотрит на что-то другое, чем печенье?wp_set_current_user
прежде чем войти в них.wp_set_auth_cookie()
в свою функцию входа. Я думаю, мне нужно переосмыслить это. Я также посмотрю wp_set_current_user и сообщу. Большое спасибо за вашу помощь в этом!Следующий код выполняет работу для автоматического входа без пароля!
источник
get_user_by()
возвращает false при ошибке, поэтому вы должны проверить false вместо объекта WP_ErrorЯ нашел другое решение здесь, которое использует лучший подход (по крайней мере, на мой взгляд ...). Не нужно устанавливать какие-либо куки, он использует API Wordpress:
Я думаю, что код не требует пояснений:
Фильтр ищет объект WP_User для данного имени пользователя и возвращает его. Вызов функции
wp_set_current_user
с возвращаемым объектом объектом WP_Userwp_signon
, проверка с помощью функции,is_user_logged_in
чтобы убедиться, что вы вошли в систему, и все!Хороший и чистый кусок кода на мой взгляд!
источник
$credentials
является ли массив пустым или нет. Если массив не пустой (как в моем ответе), значения из массива используются для аутентификации пользователя.Это хорошо работает для меня:
источник
В дополнение к Майку, Полу и Шерду:
Чтобы лучше обрабатывать
login.php
перенаправления:Быть размещенным
wp-config.php
сразу послеFYI
Основываясь на вышеупомянутом решении, я выпустил плагин, позволяющий пользователю входить в систему из одного wordpress в другой путем синхронизации пользовательских данных и сеанса cookie:
https://wordpress.org/plugins/user-session-synchronizer/
источник