Как создать автоматическую переадресацию по условиям в WordPress с примерами кода

В WordPress часто возникает задача настроить автоматическую переадресацию пользователей в зависимости от различных условий: роли пользователя, типа устройства, источника трафика или других параметров. В этой статье подробно разберём, как реализовать условные редиректы с помощью PHP-кода в functions.php и популярных плагинов, а также приведём примеры, которые помогут вам быстро внедрить нужную логику на вашем сайте.

Зачем нужны условные переадресации в WordPress

Переадресация помогает управлять пользовательским опытом и направлять посетителей на релевантные страницы. Например, вы можете:

  • Перенаправлять неавторизованных пользователей на страницу входа;
  • Отправлять мобильных посетителей на адаптивную версию сайта или приложение;
  • Направлять пользователей с определённых реферальных сайтов на специальные акции;
  • Перенаправлять по ролям, например, администраторов на панель управления, а клиентов на личный кабинет;
  • Реализовывать редиректы после действий, например, после успешной регистрации.

С помощью правильной реализации вы улучшите конверсию, безопасность и удобство сайта.

Реализация условных редиректов через functions.php

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

Пример 1. Редирект неавторизованных пользователей на страницу входа

function wpqa_conditional_redirect_to_login() {
    if ( ! is_user_logged_in() && ! is_page('login') ) {
        wp_redirect( wp_login_url() );
        exit;
    }
}
add_action('template_redirect', 'wpqa_conditional_redirect_to_login');

Этот код проверяет, авторизован ли пользователь. Если нет, и он не находится уже на странице входа, происходит перенаправление.

Пример 2. Редирект мобильных пользователей

Для определения устройства можно использовать класс Mobile_Detect или простое регулярное выражение по агенту пользователя. Ниже пример с регулярным выражением:

function wpqa_redirect_mobile_users() {
    if ( wp_is_mobile() && ! is_page('mobile-version') ) {
        wp_redirect( site_url('/mobile-version') );
        exit;
    }
}
add_action('template_redirect', 'wpqa_redirect_mobile_users');

Функция wp_is_mobile() — встроенная в WordPress и позволяет определить мобильное устройство.

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

Если вы не хотите писать код, есть несколько проверенных плагинов для условного редиректа, которые поддерживают сложную логику и просты в настройке.

Redirection

Один из самых популярных плагинов для управления редиректами. Позволяет создавать правила с условиями, например, по URL, роли пользователя, статусу входа.

Для расширенной логики можно применять регулярные выражения и фильтры.

Conditional Redirects

Плагин специально для условных редиректов с возможностью настройки по ролям, IP-адресам, пользовательским агентам и др.

WPGPT для автоматизации редиректов

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

Примеры сложных условных редиректов с кодом

Редирект по роли пользователя и URL

Допустим, хотим перенаправлять пользователей с ролью 'subscriber' на страницу подписки, если они заходят на определённую страницу:

function wpqa_redirect_subscribers_specific_page() {
    if ( is_page('special-offer') ) {
        $user = wp_get_current_user();
        if ( in_array('subscriber', (array) $user->roles) ) {
            wp_redirect( site_url('/subscribe-now') );
            exit;
        }
    }
}
add_action('template_redirect', 'wpqa_redirect_subscribers_specific_page');

Редирект с проверкой источника перехода (реферала)

Можно направлять посетителей с определённых сайтов на целевые страницы:

function wpqa_redirect_by_referer() {
    if ( isset($_SERVER['HTTP_REFERER']) ) {
        $referer = $_SERVER['HTTP_REFERER'];
        if ( strpos($referer, 'facebook.com') !== false ) {
            wp_redirect( site_url('/facebook-landing') );
            exit;
        }
    }
}
add_action('template_redirect', 'wpqa_redirect_by_referer');

Советы по правильной организации редиректов

Чтобы избежать проблем с SEO и пользовательским опытом, следуйте рекомендациям:

  • Используйте редиректы 301 для постоянных изменений, 302 для временных;
  • Не создавайте циклических или множественных редиректов;
  • Проверяйте условия, чтобы редирект не мешал загрузке админки и важных страниц;
  • Тестируйте редиректы в разных браузерах и с учётом кэша;
  • Для сложных сценариев лучше использовать специализированные плагины или генераторы кода.

Заключение

Условные редиректы — мощный инструмент для управления поведением посетителей на сайте WordPress. С помощью хука template_redirect и нескольких строк кода можно реализовать самые разные сценарии, а плагины помогут без программирования. Не забывайте, что правильная настройка повышает удобство и эффективность сайта.

Как автоматизировать рассылку новостей в WordPress
17.02.2026
Как удалить все комментарии в WordPress одним кликом
21.11.2025
WooCommerce: как изменить стоимость товара в зависимости от введённого промокода
23.06.2026
WooCommerce: автоматическое изменение стоимости товара в зависимости от роли пользователя
02.06.2026
WooCommerce: как изменить стоимость товара в зависимости от количества в корзине
17.06.2026