Как перенаправить один CPT на домашнюю страницу в WordPress: руководство для начинающих

Итак, вы создали собственный тип записи (CPT) в WordPress, но теперь хотите перенаправить определенный CPT на свою домашнюю страницу. Не волнуйтесь, мы вас прикроем! В этой статье мы рассмотрим несколько методов выполнения этой задачи, используя разговорный язык и предоставляя примеры кода. Давайте погрузимся!

Метод 1: использование плагина
Если вы предпочитаете удобный подход, вы можете использовать плагин, например «Перенаправление» или «Простые 301 перенаправления». Эти плагины позволяют легко настраивать перенаправления, не затрагивая какой-либо код. Просто установите плагин, настройте перенаправление с единственной страницы CPT на домашнюю страницу, и все готово!

Метод 2: использование хука «template_redirect».
Те, кто умеет манипулировать кодом, могут добиться перенаправления с помощью хука «template_redirect». Добавьте следующий код в файл function.php вашей темы:

function redirect_single_cpt_to_homepage() {
    if (is_singular('your_cpt_slug')) {
        wp_redirect(home_url());
        exit;
    }
}
add_action('template_redirect', 'redirect_single_cpt_to_homepage');

Не забудьте заменить «your_cpt_slug» фактическим фрагментом вашего пользовательского типа сообщения. Этот код проверяет, является ли текущая страница единственным представлением вашего пользовательского типа сообщения, и перенаправляет ее на домашнюю страницу.

Метод 3: изменение единого шаблона CPT
Другой подход предполагает изменение единого файла шаблона для вашего пользовательского типа сообщения. Найдите файл single-{post_type}.php в папке вашей темы (если он не существует, создайте его). Затем добавьте следующий код в начало файла:

<?php
    if (is_singular('your_cpt_slug')) {
        wp_redirect(home_url());
        exit;
    }
?>

И снова замените «your_cpt_slug» фактическим фрагментом вашего пользовательского типа сообщения. Этот код проверяет, является ли текущая страница единственным представлением вашего пользовательского типа сообщения, и перенаправляет ее на домашнюю страницу.

Метод 4: использование правила перезаписи
Если вы предпочитаете более продвинутый метод, вы можете использовать правила перезаписи для достижения перенаправления. Добавьте следующий код в файл function.php вашей темы:

function redirect_single_cpt_to_homepage_rewrite_rule() {
    add_rewrite_rule('^your_cpt_slug/([^/]+)/?', 'index.php?your_cpt_slug=$matches[1]', 'top');
}
add_action('init', 'redirect_single_cpt_to_homepage_rewrite_rule');

Еще раз не забудьте заменить «your_cpt_slug» фактическим фрагментом вашего пользовательского типа сообщения. Этот код добавляет правило перезаписи, которое фиксирует структуру URL-адреса вашего пользовательского типа публикации и перенаправляет ее на домашнюю страницу.

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