Изучение методов подмены «404 Страница не найдена» для отдельных страниц и фрагментов сообщений в файле function.php

В этой статье блога мы углубимся в различные методы имитации ошибки «404 Страница не найдена» для одной страницы и сообщений в файле function.php веб-сайта WordPress. Реализуя эти методы, вы можете создать собственный ответ для определенных URL-адресов, которые могут не существовать, улучшая взаимодействие с пользователем и повышая SEO-потенциал вашего веб-сайта. Мы предоставим примеры кода для каждого метода, чтобы помочь вам эффективно их реализовать.

Методы:

  1. Использование хука template_redirect:
    Используя хук template_redirect, вы можете перехватить процесс загрузки шаблона и перенаправить определенные фрагменты в пользовательский шаблон 404.. Добавьте следующий код в файл function.php:
function custom_404_redirect() {
    global $wp_query;
    if (is_single('your-post-slug') || is_page('your-page-slug')) {
        $wp_query->set_404();
        status_header(404);
        get_template_part('404-template');
        exit();
    }
}
add_action('template_redirect', 'custom_404_redirect');
  1. Изменение запроса.
    Этот метод включает в себя изменение основного запроса, чтобы принудительно выдавать ответ 404 при запросе определенных пулов. Поместите следующий код в файл function.php:
function custom_404_query($query) {
    if ($query->is_main_query() && (is_single('your-post-slug') || is_page('your-page-slug'))) {
        $query->set_404();
        status_header(404);
    }
}
add_action('pre_get_posts', 'custom_404_query');
  1. Использование фильтра template_include.
    Фильтр template_includeпозволяет переопределить файл шаблона, загружаемый для конкретного запроса. Вы можете использовать этот фильтр для отображения пользовательского шаблона 404 для определенных слагов. Добавьте следующий код в файл function.php:
function custom_404_template($template) {
    if (is_single('your-post-slug') || is_page('your-page-slug')) {
        $new_template = locate_template(array('404-template.php'));
        if (!empty($new_template)) {
            return $new_template;
        }
    }
    return $template;
}
add_filter('template_include', 'custom_404_template');
  1. Перенаправление с помощью файла .htaccess.
    Другой подход предполагает использование файла .htaccessдля перенаправления определенных фрагментов на пользовательскую страницу 404. Откройте файл .htaccessи добавьте следующий код:
RewriteEngine On
RewriteBase /
RewriteRule ^your-post-slug$ /custom-404-page/ [R=301,L]

Не забудьте заменить your-post-slugна фактический фрагмент, который вы хотите перенаправить.

Реализуя эти методы в файле function.php WordPress, вы можете эффективно имитировать ошибку «404 Страница не найдена» для конкретной отдельной страницы и фрагментов сообщений. Эта настройка улучшает взаимодействие с пользователем и гарантирует, что ваш веб-сайт будет предоставлять содержательные ответы на несуществующие URL-адреса. Не забывайте следить за производительностью своего веб-сайта и при необходимости обновлять слаги и шаблоны.