Методы подмены ошибки «404 страница не найдена» в файле function.php для одной страницы

Чтобы подделать ошибку «404 Страница не найдена» для конкретной страницы в файле WordPress function.php, вы можете использовать различные методы. Вот несколько методов с примерами кода:

Метод 1: использование хука template_redirect
Добавьте следующий код в файл function.php вашей темы:

function spoof_404_error() {
    global $wp_query;

    if (is_single('your-page-slug')) { // Replace 'your-page-slug' with the actual slug of your page
        $wp_query->set_404();
        status_header(404);
    }
}
add_action('template_redirect', 'spoof_404_error');

Метод 2: использование хука wp.
Другой способ добиться того же результата — использовать хук wp:

function spoof_404_error() {
    global $wp_query;
    if (is_single('your-page-slug')) { // Replace 'your-page-slug' with the actual slug of your page
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
    }
}
add_action('wp', 'spoof_404_error');

Метод 3. Использование хука 404_template.
Вы также можете использовать хук 404_template, чтобы принудительно открыть страницу с ошибкой 404 для конкретной страницы:

function spoof_404_error($template) {
    if (is_single('your-page-slug')) { // Replace 'your-page-slug' with the actual slug of your page
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        $template = get_404_template();
    }

    return $template;
}
add_filter('404_template', 'spoof_404_error');

Не забудьте заменить 'your-page-slug'фактическим фрагментом страницы, для которой вы хотите подделать ошибку 404.