Intereting Posts
Какие разрешения требуется wp-content / uploads? Как проверить вход в виджетов Штрих-код для серии файлов изображений, исключающих диапазон? Исключить некоторых авторов из запроса header_image не работает после копирования сайта Крючки для контента vs Пользовательские крючки Сообщение wp_insert не работает Существующий логин для изменения ссылки на выход в подменю Сохранить информацию о камере как метаданные при загрузке изображения? add_menu_page не отображает ожидаемый результат Создание плагина администратора. Содержимое страницы также отображается в глобальном масштабе. Как показать страницу под строительство домена, но по-прежнему работать на index.php? Невозможно получить функцию Alert для постоянной работы с бэкэнд-виджетами с последним WP Есть ли преимущество использования стандартного WordPress Search вместо создания пользовательского? Несколько сайтов WordPress с докере

Как создать пользовательские страницы ошибок 401, 403 и 500?

Когда встречается ошибка 404, файл шаблона 404.php может использоваться для визуализации сообщения об ошибке. Это описано в статье « Иерархия шаблонов» .

Моя цель – создать собственные страницы ошибок для ошибок 401, 403 и 500. Я пробовал создавать файлы 401.php, 403.php и 500.php в каталоге моей темы, но это не работает.

Как создать пользовательские страницы ошибок 401, 403 и 500 в WordPress?

Solutions Collecting From Web of "Как создать пользовательские страницы ошибок 401, 403 и 500?"

Страницы ошибок обрабатываются через .HTACCESS, если вы используете Apache, вы должны использовать директиву ErrorDocument и добавлять к нему статус и URL.

Таким образом, это будет выглядеть в вашем файле .htaccess:

 ErrorDocument 401 http://yourwebsite.com/error-401 ErrorDocument 403 http://yourwebsite.com/error-403 ErrorDocument 500 http://yourwebsite.com/error-500 

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

1. Добавить Страницы:

Затем вам нужно войти в свою панель инструментов и создать страницы, как любая нормальная страница («Панель мониторинга»> «Страницы»> «Создать»). Они могут быть названы так, как вам хочется, просто убедитесь, что slug совпадает с функцией ниже (Slug: error-401, error-403, error-404, error-500). Также вы можете использовать шаблон страницы для создания любых макетов и стилей, которые вы хотите для этих конкретных страниц. Следуйте инструкциям WordPress Codex для этого.

2. Добавить функцию:

 // Create Custom Error Pages in WordPress using HTACCESS function royal_custom_error_pages() { // Get HTACCESS path & dynamic website url $htaccess_file = '.htaccess'; $website_url = get_bloginfo('url').'/'; // Check & prevent writing error pages more than once $check_file = file_get_contents($htaccess_file); $this_string = '# BEGIN WordPress Error Pages'; if( strpos( $check_file, $this_string ) === false) { // Setup Error page locations dynamically $error_pages .= PHP_EOL. PHP_EOL . '# BEGIN WordPress Error Pages'. PHP_EOL. PHP_EOL; $error_pages .= 'ErrorDocument 401 '.$website_url.'error-401'.PHP_EOL; $error_pages .= 'ErrorDocument 403 '.$website_url.'error-403'.PHP_EOL; $error_pages .= 'ErrorDocument 404 '.$website_url.'error-404'.PHP_EOL; $error_pages .= 'ErrorDocument 500 '.$website_url.'error-500'.PHP_EOL; $error_pages .= PHP_EOL. '# END WordPress Error Pages'. PHP_EOL; // Write the error page locations to HTACCESS $htaccess = fopen( $htaccess_file, 'a+'); fwrite( $htaccess, $error_pages ); fclose($htaccess); } } add_action('init','royal_custom_error_pages'); // This will run the function everytime, not ideal! // register_activation_hook( __FILE__, 'royal_custom_error_pages' ); // Using a plugin, runs only once! 

NB !! ПРИМЕЧАНИЯ О ВЫШЕ ФУНКЦИИ

При перемещении вашего сайта или изменении структуры URL-адреса

Следует помнить, что эта функция работает, хотя будет проверять, существуют ли ранее директивы ErrorDocument, прежде чем записывать их в ваш файл HTACCESS, и не будет переписывать директивы ErrorDocument, если вы измените или переместите свой блог, чтобы отразить обновленные местоположения страниц. Сначала вам нужно удалить существующие директивы ErrorDocument в вашем файле HTACCESS, а затем повторно запустить эту функцию для создания новых директив.

Правильный крюк для запуска функции ТОЛЬКО ОДИН РАЗ

Другая вещь, которую следует отметить, – это функция, использующая действие init будет выполняться каждый раз, когда загрузка ваших страниц будет излишне ненужной и расточительной, поэтому я бы предложил добавить ее к плагину и использовать register_activation_hook , чтобы он срабатывал только один раз при активации плагина

Разрешения для файлов

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

Добавление ненужных плагинов в WordPress является рискованным, и если у вас есть самостоятельный блог с Cpanel, вы можете создавать собственные страницы ошибок очень просто.

Найдите «Дополнительно» и нажмите «Страницы ошибок».

Все ошибки перечислены, поэтому выберите тот, который вы хотите отредактировать и введите свой контент.

Нажмите «Сохранить» и перейдите к следующему.

На YouTube есть много видеороликов с подробными сведениями.

Я сделал это с 404 страницами, особенно, и это очень просто.