Возвращает true
в случае отображения страницы с 404-й ошибкой (после получения статуса
HTTP 404: Not Found
), в остальных случаях — false
.
is_404()
Данная функция не имеет никаких параметров.
В WordPress для страниц с 404-й ошибкой предусмотрен специальный файл 404.php
, он подключается автоматически, если запрошенной пользователем страницы не существует.
Если же его нет в теме, то будет открываться index.php
, то есть по сути главная страница (подробнее о порядке подключения файлов в WordPress).
Так вот, если на вашем сайте имеет место второй вариант, тогда можно просто добавить условие в файл index.php
:
if( is_404() ){ echo 'Ошибка 404. Запрошенной вами страницы не существует.'; }
Мне конечно остается только догадываться, что находиться в вашем index.php
, тем не менее вот более полный обобщенный вариант предыдущего примера:
get_header(); if( is_404() ){ echo '<p>Ошибка 404. Запрошенной вами страницы не существует.</p>'; get_search_form(); } else { while( have_posts() ): the_post(); // ну тут будет например HTML-шаблон вывода поста endwhile; } get_footer();
В общем, я думаю, суть вы уловили.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Добрый день, Михаил!
Как добиться такого же эффекта, как у Вас на блоге?
Когда переходишь, например, по такому линку https://misha.agency/йуййуйцу выдаётся страница 404?
У меня страница 404 появляется только когда переходишь, например, по такому линку http://example.com/?p=йцуйцуй. По всем другим, не корректным, запросам показывается главная.
В настройках постоянных ссылок стоит "По умолчанию", т. е. http://example.com/?p=123
Есть страница index.php, там дубль главной страницы.
Есть файл 404.php, его содержание:
В файле .htaccess написаны стандартные вордперссовские правила:
Добрый день!
Всё дело в этом — постоянные ссылки не настроены.
Попробуйте директиву
.htaccess
ErrorDocument 404.