Вопрос или проблема
$username,
‘user_password’ => $password,
‘remember’ => true
);
if (!username_exists($username)){
wp_redirect(home_url(‘login/?login=doesnt_exist’));
ob_end_flush();
exit;
}
$user = wp_signon($credentials, false);
if (is_wp_error($userAuth)) {
wp_redirect(home_url(‘/login/?login=Authfailed’));
ob_end_flush();
exit;
}
if (is_wp_error($user)){
wp_redirect(home_url(‘/login/?login=failed’));
ob_end_flush();
exit;
}
wp_set_current_user($user->ID,$username);
wp_set_auth_cookie($user->ID, true, false );
wp_redirect(site_url());
exit;
}
wp_head(); // Включите шаблон заголовка
?> закомментированное – это просто заполнитель
.
Ответ или решение
Проблема, которую вы описываете, когда вы входите в админ-панель WordPress и автоматически выходите, когда пытаетесь перейти на сайт, может быть вызвана рядом факторов. Давайте подробно рассмотрим возможные причины и решения, чтобы вы могли эффективно справиться с этой ситуацией.
Причины проблемы
-
Состояние сессии и куки: Одной из основных причин может быть проблема с куками. Если браузер не принимает куки или они неправильно настроены, это может привести к тому, что система не сможет сохранить вашу сессию.
-
Конфликт плагинов: Некоторые плагины могут конфликтовать между собой или с вашим текущим шаблоном, что приводит к неожиданным результатам, включая автоматический выход из системы.
-
Настройки сайта: Проверьте настройки веб-сайта, такие как URL-адреса и домены в настройках WordPress. Неправильные настройки могут вызывать проблемы с аутентификацией.
-
Кэширование: Иногда конфликты могут возникать из-за плагинов кэширования или настроек на сервере, которые мешают правильному управлению сессиями.
-
Версия PHP: Убедитесь, что версия PHP на вашем сервере соответствует требованиям вашего WordPress и используемых плагинов.
Решения
-
Проверьте куки в браузере: Убедитесь, что ваш браузер принимает куки. Возможно, стоит попробовать другой браузер или очистить кэш и куки текущего.
-
Отключите плагины: Временно отключите все плагины и переключитесь на стандартную тему WordPress (например, Twenty Twenty-Three). Если проблема исчезнет, начните по одному активировать плагины, чтобы выявить проблемный.
-
Проверьте URL-адреса: Перейдите в настройки WordPress (
Настройки → Общие
) и убедитесь, что вы правильно указали URL-адреса сайта и админки. Они должны совпадать (например, http://example.com и http://example.com/wp-admin). -
Настройки кэширования: Если вы используете плагин кэширования, временно отключите его и проверьте, остается ли проблема. Также проверьте настройки вашего хостинга касательно кэширования на уровне сервера.
-
Обновите версию PHP: Проверьте, соответствует ли версия PHP, установленная на сервере, требованиям WordPress. Рекомендуется использовать последние стабильные версии PHP (например, PHP 7.4 и выше).
-
Дебаггинг: Включите режим отладки в вашем WordPress, добавив следующее в файл
wp-config.php
:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
Это создаст файл
debug.log
в папке/wp-content/
, где будут записываться ошибки, которые могут пролить свет на проблему.
Заключение
Следуя этим шагам, вы сможете определить и устранить проблему, связанную с автоматическим выходом из админки при переходе на сайт. Если данные решения не помогают, рекомендуем обратиться к вашему хостинг-провайдеру или специалисту по WordPress для дальнейшей диагностики проблемы. Регулярное обновление плагинов, тем и настройки бэкапов также помогут избежать подобных проблем в будущем.