Вверх

Настройка страницы ошибки комментария в WordPress

Привожу перевод статьи о настройке страницы ошибки возникающей при отправке комментария без заполнения необходимых полей. Итак, статья.

Если вы отправите комментарий в системе WordPress без заполнения необходимых полей, вы будете переадресованы на пустую неоформленную страницу, которая будет выглядеть похожей на изображение ниже:

error
Назовем эту страницу «страница ошибки комментария»

WordPress использует файл 404.php для ошибок, таких как «404 Not Found» (не найдено) или «403 Forbidden» (запрещено) внутри вашего оформления (т.е. с учетом темы). Но нет стандартного файла темы для отображения страницы с ошибкой, которая возникает, когда форма комментария была заполнена неправильно. Иными словами, когда возникают 404 и 403 типы ошибок, то все красиво вписывается в дизайн, но стоит вам неправильно заполнить форму комментария в вордпресс, вас ожидает пустая страница с текстом.

К счастью, в версии WordPress 3.0 (и выше) можно осуществлять настройку подобной страницы без особых трудностей. Если вы посмотрите в файл, обрабатывающий отсылку комментария — wp-comments-post.php, вы обнаружите, что когда программа сталкивается с ошибкой, то вызывается функция wp_die(). Зная, что «die» – это «смерть», становится очевидным, почему ее так назвали. Чтобы настроить выходные параметры этой функции вам понадобиться wp_die_handler filter в файле functions.php (Это также файл темы).

Использование хука wp_die_handle с собственно функцией-обработчиком
Чтобы все правильно заработало, выделим три основных шага:

  1. Установить фильтр обработки «смерти» (добавить wp_die_handler filter в программу).
  2. Сбросить параметры функции wp_die_handler
  3. Написать свой собственный код в данной функции

Отлично! Теперь откроем вышеупомянутый functions.php и начнем.

1. Добавляем фильтр wp_die_handler

2. Сбрасываем прежние параметры

Это действие может показаться вовсе необязательным, но для правильной работы фильтра требуется именно эта промежуточная функция.

3. Создаем свой код

там где написано «your code» вставляем свой код

Для начала создания вашего пользовательского фильтра подойдет функция _default_wp_die_handler(), которую вы потом отредактируете. Всего лишь измените HTML и CSS, чтобы все соответствовало дизайну вашего сайта.
А еще лучшим решением будет заново переписать функцию так, чтобы та искала другой файл темы ошибки комментария. Такой подход сделает настройку значительно проще. Изучите образец данного кода ниже:

Теперь в отдельном файле, который мы назвали commenterror.php, вы можете создать свою собственную страницу ошибки комментария. Вот типичная версия такого файла:

commenterror.php

Не забывайте, мы демонстрируем только самые основные и распространенные примеры. Вы можете вставлять свои шаблонные теги, использованные в других файлах вашей темы. Также наш материал может пригодиться для создания нового шаблона «ошибки» после 404.php. Желаем удачи!

Вот собственно и все, о результатах отписываемся в комментариях.

1 бал2 бала3 бала4 бала5 балов (1 голос, средний бал: 5,00 из 5)
Загрузка...
     Вызвать мастера :)
Скопировать короткую ссылку

1 Комментарий Оставить свой

  1. Аватар
    Автор: Александр - 15.12.2016 в 05:12
    23363

    Каким образом можно сменить url в адресной строке. На данный момент показывает /wp-comments-post.php ?
    Смена, например, на /comment-error/

    Ответить

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: