При обнаружении ошибки 404 файл шаблона 404.php можно использовать для отображения настраиваемого сообщения об ошибке. Это описано в статье « Иерархия шаблонов» .
Моя цель - создать пользовательские страницы ошибок для ошибок 401, 403 и 500. Я попытался создать файлы 401.php, 403.php и 500.php в каталоге моей темы, но это не работает.
Как я могу создать пользовательские страницы ошибок 401, 403 и 500 в WordPress?
php
htaccess
404-error
template-hierarchy
500-internal-error
henrywright
источник
источник
Ответы:
Страницы ошибок обслуживаются через .HTACCESS, если вы используете Apache, вы бы использовали
ErrorDocument
директиву и добавили к ней статус и URL.Так это будет выглядеть в вашем файле .htaccess:
Вы можете использовать следующую функцию ниже. Это будет динамически добавлять то, что вам нужно, в файл HTACCESS, или вы можете сделать это вручную.
1. Добавить страницы:
Затем вам нужно будет зайти в свою панель инструментов и создать страницы, как и любую обычную страницу («Панель инструментов»> «Страницы»> «Создать»). Они могут называться как угодно, просто убедитесь, что слаг такой же, как в приведенной ниже функции (Слаг: ошибка-401, ошибка-403, ошибка-404, ошибка-500). Также вы можете использовать шаблон страницы для создания любого макета и стиля, который вы хотите для этих конкретных страниц. Следуйте инструкциям WordPress Codex для этого.
2. Добавить функцию:
NB !! ЗАМЕЧАНИЯ О ВЫШЕ ФУНКЦИИ
При перемещении вашего сайта или изменении структуры URL
Следует помнить, что при использовании вышеуказанной функции перед тем, как записать их в ваш файл HTACCESS, он проверяет, существуют ли директивы ErrorDocument, но не будет перезаписывать директивы ErrorDocument, если вы измените или переместите свой блог, чтобы отразить обновленные местоположения страниц. Вам нужно будет сначала удалить существующие директивы ErrorDocument в вашем файле HTACCESS, а затем повторно запустить эту функцию, чтобы создать новые директивы.
Правильный крюк, чтобы запустить функцию ТОЛЬКО ОДИН РАЗ
Еще
init
одна вещь, которую стоит отметить, - эта функция, использующая действие, которое будет запускаться каждый раз, когда загружаются ваши страницы, что является супер ненужным и расточительным, поэтому я бы предложил добавить его в плагин и использовать егоregister_activation_hook
, чтобы он срабатывал только один раз при активации плагина.Файловые права
Также обязательно, чтобы ваш .htaccess был доступен для записи при использовании вышеуказанной функции, поэтому убедитесь, что он имеет правильные права доступа к файлу, что-то вроде CHMOD777.
источник