Показываем ошибку 404 по условию

  • Роман Цуканов
    Разработчик
  • Дата публикации
    13.01.2023
  • Категория
    Wordpress
Задача:Отобразить ошибку 404 на странице по условию

В одном из недавних проектов стояла задача отобразить 404ю ошибку, если в строку браузера не был передан GET параметр. Т.е. должен был отобразиться шаблон ошибки 404 вместо шаблона текущей страницы, сервер должен был вернуть статус 404, и при этом не должно быть никаких редиректов. Задача казалась тривиальной, однако нужен был не хук, а именно проверка по условию в шаблоне страницы. Путем сбора и объединения информации с различных источников была написана следующая функция, которую для удобства использования закинули в functions.php

function force404()
{
    global $wp_query;
    $wp_query->set_404();

    status_header( 404 );
    nocache_headers();

    require get_404_template();
    
    exit;
}

Проверено. Работает.

Еще нет коммментариев. Будь первым!

Оформить заказ в Devstages