Intereting Posts
Запрос для пользовательских объектов типа сообщения в таксономии и с метазначением Как связать персонализированный тип сообщения с другим посредством таксономии или хранения идентификатора в настраиваемом поле? Как wordpress отслеживает идентификатор сообщения, когда почтовый идентификатор не используется в постоянных ссылках? Проверка короткого кода «gallery» с использованием strpos всегда возвращает false Страница продукта Woocommerce редактировать «из» текста Поля профиля экспорта Buddypress Сохранять пустое пространство на странице Условия заказа внутри раскрывающегося списка Как удалить CSS-файл в заголовке с помощью функций WordPress? Почему шаблон моей категории игнорирует тип сообщения? Медленное начальное время загрузки сайта Получить текущий номер страницы разделенной статьи Форма регистрации на лицевой стороне с полем пароля Получить текущий идентификатор сообщения в качестве переменной в Javascript Панель администратора и проблема с фиксированным заголовком?

Для автоматического входа в систему требуется обновление страницы

У меня есть простой автозапуск, который выглядит следующим образом:

function auto_login() { if (!is_user_logged_in()) { //Removed some code for brevity. $user = get_userdatabylogin($domainName); if ($user != null) { //Set the auth cookie. wp_set_auth_cookie($user->ID, false, null); //Set the current user (this will also set WP objects at the global level) wp_set_current_user($user->ID); } } } add_action('init', 'auto_login'); 

Этот код действительно работает, но для того, чтобы получить панель администратора в верхней части страницы, требуется обновление страницы. Это заставляет меня думать, что я не получаю некоторые глобальные объекты, заполненные достаточно рано в жизненном цикле страницы WordPress.

Должен ли я вызывать этот метод где-то еще, кроме init ?

Solutions Collecting From Web of "Для автоматического входа в систему требуется обновление страницы"

Может быть, слишком поздно называть init. Попробуйте set_current_user или какой-то более ранний крючок. Список находится здесь: https://codex.wordpress.org/Plugin_API/Action_Reference

Я обнаружил, что пользователь может автоматически войти в систему на template_redirect и успешно установить с помощью wp_redirect('yoururl') , который, по сути, перенаправляет обратно с файлом cookie вместо перезагрузки страницы.

Пример:

 function auto_login() { // if statements go here... $user_id = 'some_user_id'; wp_set_auth_cookie($user_id); wp_set_current_user($user_id); wp_redirect(home_url()); exit; } add_action('template_redirect', 'auto_login');