Конструктивные элементы шаблона WordPress | Файл 404.php

Конструктивные элементы шаблона WordPress | Файл 404.php

Файл 404.php в шаблоне WordPress, как следует из его названия, выдает посетителю страницу с 404 ошибкой. Смысл данной страницы в том, чтобы показать пользователю, что введенный им адрес является ошибочным.

Как такое может произойти?

Во-первых, страницы сайта имеют свойство меняться со временем. Здесь подразумевается не замена контента, а изменение адреса страницы.

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

Во-вторых, искомая страница может быть вообще удалена. А ссылка на нее где-то в недрах Интернета все еще продолжает висеть.

В-третьих, часто так бывает, что к правильной, в общем-то, ссылке случайно прилепляется лишняя точка или запятая или еще какой-то символ. Ну, вот кто-то так неаккуратно поставил ссылку на ваш пост. Бывает же всякое.

Казалось бы, ну и шут с ними с ошибками. Ну нет такой страницы и ладно. Однако терять посетителей из-за этого как-то не хочется. Поэтому умные разработчики придумали мега-полезную вещь — специальную страницу, которая и оповещает посетителей о возникшей проблеме.

Но мало просто указать. И те, кто игнорирует этот мега-полезный файл 404.php, делают большую ошибку.

Сами посудите: придет человек малосведущий в системных сообщениях, увидит надпись вроде «Error 404» и кроме нее больше ничего. Обидится страшно, обругает матерно и вообще может кинуть в монитор кирпичом со злости. Поэтому данную страницу следует правильно оформить.

Как сделать правильную страницу 404 ошибки

1. Типичная 404-я страница выдает лишь заголовок «Error 404 — Not Found». И больше ничего. Этого преступно мало, так как ровным счетом ничего не объясняет.

Поэтому нужно заменить данный заголовок на что-то более человечное и добавить несколько строк поясняющего текста. Например:

<h2>Упс! Ошибочка вышла</h2>
<p>К сожалению, запрашиваемая вами страница отсутствует на сайте. Возможно, она поменяла адрес или была удалена. А может вы перешли по ошибочной ссылке. Как бы там ни было, не стоит унывать. Попробуйте поискать интересующую вас информацию в следующих темах: </p>

2. Далее можно добавить список рубрик сайта:

<ul>
<?php wp_list_cats('sort_column=name'); ?>
</ul>

или с десяток другой ссылок на последние записи:

<ul>
<?php get_archives('postbypost', 20); ?>
</ul>

или и то и другое вместе (цифра в скобках указывает на количество записей).

3. Также полезно добавить ниже форму поиска со словами:

Вы также можете воспользоваться поиском по сайту:

<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/" >
<input type="text" value="Поиск..." name="s" id="s" onfocus="if (this.value == 'Поиск...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Поиск...';}" />
</form>

Таким образом, вы сделаете страницу 404-й ошибки не просто информативной, но и достаточно функциональной.

Как создать страницу 404-й ошибки

Если у вас в шаблоне вообще нет файла 404.php, то ничего страшного. Можно воспользоваться в качестве образца файлом page.php. Открываете его, удаляете все лишнее, оставив из php кода лишь подключение шапки, сайдбара и подвала и добавив указанные выше элементы. Потом сохраняете его с именем 404.php. Вот и все.

Для примера привожу полный код 404-го файла с одного из моих блогов:

<?php get_header(); ?>
<div id="content">
<h2>Error 404 — Страница не найдена</h2>
<div class="entry">
<p>Простите, но того, что вы ищете, здесь нет, либо страница была удалена. </p>
<p>Однако вы можете попробовать найти интересующую вас информацию в следующих темах: </p>
<ul>
<?php get_archives('postbypost', 20); ?>
</ul>
<p>Либо воспользуйтесь формой поиска: </p>
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/" >
<input type="text" value="Поиск..." name="s" id="s" onfocus="if (this.value == 'Поиск...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Поиск...';}" />
</form>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Удачи!

Конструктивные элементы шаблона WordPress | Файл header.php
Конструктивные элементы шаблона WordPress | Файл index.php | Часть 1
Конструктивные элементы шаблона WordPress | Файл index.php | Часть 2
Конструктивные элементы шаблона WordPress | Файл single.php
Конструктивные элементы шаблона WordPress | Файл comments.php | Вывод комментариев
Конструктивные элементы шаблона WordPress | Файл comments.php | Форма комментирования
Конструктивные элементы шаблона WordPress | Файл sidebar.php
Конструктивные элементы шаблона WordPress | Файл footer.php
Конструктивные элементы шаблона WordPress | Файл 404.php

Похожие записи:

2 комментария

  1. Павел | 14.01.2019

    Автору респект! Толково, коротко, логично, без лишней воды.

  2. Игорь Квентор | 15.01.2019

    Спасибо, Павел! :)

Оставить комментарий: