Функция wp_redirect() используется для перенаправления пользователей на другой URL с учетом параметров и настроек HTTP. Она позволяет эффективно управлять перенаправлениями в WordPress: от редиректов страниц до обработки ошибок.
Быстрая навигация по записи

Описание функции wp_redirect()

Функция wp_redirect() выполняет HTTP перенаправление на указанный URL. Широко используется для перенаправления после обработки форм, а также для управления доступом к контенту. Важно вызывать эту функцию до отправки заголовков, иначе перенаправление не сработает.

Функция также может принимать код состояния HTTP, что позволяет гибко настраивать поведение редиректа.

Параметры

$location

Тип: string

Обязательный: Да

Описание: URL для перенаправления

Возможные значения:

$status

Тип: int

Обязательный: Нет

По умолчанию: 302

Описание: HTTP код состояния для редиректа

Возможные значения:

0: 301

1: 302

2: 303

3: 307

4: 308

Возвращаемое значение

Тип: void

Описание: Не возвращает значение, выполняет перенаправление

Возможные значения:

• Перенаправление на указанный URL

• Ничего, если заголовки уже отправлены

Примеры использования

Перенаправляет пользователя на заданный URL

				
					wp_redirect('https://example.com');
exit;
				
			

Не забудьте вызвать exit после wp_redirect для завершения выполнения скрипта

Постоянное перенаправление старой страницы на новую

				
					wp_redirect('/old-page', 301);
exit;
				
			

301 говорит поисковым системам, что это постоянное перенаправление

Перенаправление на страницу входа при неавторизованном доступе

				
					if (!$user_logged_in) {
    wp_redirect('/login');
    exit;
}
				
			

Проверка состояния пользователя перед редиректом

Перенаправление старой страницы в рамках плагина

				
					function my_custom_redirect() {
    if (is_page('old-page')) {
        wp_redirect('/new-page');
        exit;
    }
}
add_action('template_redirect', 'my_custom_redirect');
				
			

Использование хука template_redirect для выполнения перенаправления

Перенаправление устаревшей страницы на новую

				
					$requested_url = $_SERVER['REQUEST_URI'];
if ($requested_url === '/deprecated-page') {
    wp_redirect('/replacement-page');
    exit;
}
				
			

Часто используется при изменении структуры URL

Безопасность

Валидация входных данных: Параметр location должен быть валидным URL

Санитизация: WordPress автоматически очищает входные параметры

Рекомендации: Используйте esc_url() для валидации URL перед передачей в wp_redirect

— Связанные функции

Безопасное перенаправление только на доверенные URL

Перенаправление на страницу админки

— Примечания

– Ограничения

Функция не будет работать, если заголовки уже отправлены

– Частые проблемы

  • Ошибка ‘headers already sent’ при неправильном порядке вызова функций
  • Некорректный URL может привести к ошибке 404

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Система аренды
Шаблон сайта аренды спецтехники или строительного оборудования. Этот шаблон помогает создать функциональный ресурс, где пользователи могут легко арендовать оборудование для строительства

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊