Функция 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 проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

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