valeriya32Immigrant 26.03.2023 14:03

Как настроить редирект на определенную страницу при определенных условиях в Wordpress?

Как настроить редирект на определенную страницу при определенных условиях в WordPress?

Здравствуйте!

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

Мне нужно, чтобы при заходе на страницу "example.com/old-page", пользователи с ролью "subscriber" автоматически перенаправлялись на страницу "example.com/new-page".

Я пробовал использовать плагин Redirection, но у меня не получилось настроить редирект с учетом условий. Также я пробовала использовать функцию wp_redirect() в файле functions.php, но не смогла сделать это правильно.

Можете ли вы показать мне пример кода, который я могу использовать для настройки такого редиректа в WordPress? Я был бы очень благодарен за вашу помощь!


function custom_redirect() {
    $current_page = $_SERVER['REQUEST_URI'];
    $redirect_page = '/new-page';
    
    if ($current_page == '/old-page' && current_user_can('subscriber')) {
        wp_redirect($redirect_page);
        exit;
    }
}
add_action('template_redirect', 'custom_redirect');

Заранее спасибо за помощь!

Ответы:

Suvorov38 26.03.2023 14:25

Как настроить редирект на определенную страницу при определенных условиях в WordPress?

Для настройки редиректа на определенную страницу при определенных условиях в WordPress, вам понадобится использовать функцию wp_redirect(). Эта функция позволяет перенаправить пользователя на другую страницу.

Вам нужно вставить следующий код в файл functions.php вашей темы:


function custom_redirect() {
    $current_page = $_SERVER['REQUEST_URI'];
    $redirect_page = '/new-page'; // Замените на свой URL новой страницы
    
    if ($current_page == '/old-page' && current_user_can('subscriber')) {
        wp_redirect($redirect_page);
        exit;
    }
}
add_action('template_redirect', 'custom_redirect');

В этом коде мы определяем функцию custom_redirect(), которая выполняет редирект в соответствии с заданными условиями. В данном примере, мы проверяем текущую страницу и роль пользователя. Если текущая страница это "/old-page" и пользователь имеет роль "subscriber", то мы перенаправляем его на страницу "/new-page".

Для того, чтобы использовать этот код, вам необходимо заменить "/old-page" на URL вашей старой страницы и "/new-page" на URL вашей новой страницы. Также, вы можете изменить условие проверки роли пользователя с помощью функции current_user_can().

После вставки этого кода, сохраните файл functions.php и обновите страницу. Теперь, при выполнении заданных условий, пользователи с ролью "subscriber" будут автоматически перенаправляться на новую страницу.

Надеюсь, это поможет вам решить вашу проблему! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

Удачи!


Добавить ответ