TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Как исправить ошибки пользовательского типа сообщения 404 в WordPress

269

С выпуском WordPress 3.0 появилась возможность добавлять «Пользовательские типы сообщений» в ваши темы WordPress, что является очень ценным инструментом, и я использовал его во многих созданных мной темах WordPress. К настоящему времени типы пользовательских сообщений стали чрезвычайно популярными и используются почти во всех темах WordPress. Но кто -то, кого работал с типами пользовательских почтовых, вероятно, сталкивались с d г eadful 404 не найдена ошибка при попытке получить доступ к пост из почтового типа в той или иной точке. К счастью, эти ошибки почти всегда можно легко исправить.

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

1 Проверьте настройки постоянной ссылки.

Вероятно, это одна из самых распространенных причин, по которой люди получают ошибку 404 в своих пользовательских типах сообщений, и я сталкивался с этим много раз. Я видел много исправлений, таких как сброс правил перезаписи (что я не рекомендую), но лично мне больше всего повезло со следующим простым исправлением:

Решение:

  • Установите собственную структуру постоянных ссылок (например,% postname%)
  • Нажмите Сохранить
  • Посмотрите, возвращают ли ваши одиночные пользовательские страницы сообщений 404 страницы с ошибками
  • Если они это сделают, вернитесь и измените постоянные ссылки на значения по умолчанию и сохраните
  • Теперь попробуйте снова установить пользовательскую постоянную ссылку и сохраните

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

Теперь на некоторых серверах, если ваши разрешения установлены неправильно, это может не работать, и вам, возможно, придется обновить файл .htaccess вручную. Для этого вам нужно будет войти на свой сайт через FTP или SFTP и в браузере перейти в корневую директорию WordPress (там же, где находятся ваш файл wp-config.php и папка wp-content). Здесь вы должны найти файл с именем .htaccess, который вы можете изменить (если вы его не видите, убедитесь, что ваша программа FTP имеет возможность отображать скрытые файлы, и если их просто нет, создайте его). Теперь убедитесь, что файл содержит основной код WordPress, упомянутый в документации WordPress, который выглядит следующим образом:

Важно: Если вы изменяете существующий файл .htaccess, обязательно сначала сделайте резервную копию файла на вашем компьютере на случай, если вы что-нибудь напутаете.

2 Проверьте наличие конфликтов слагов (наличие страницы с тем же слагом, что и тип сообщения).

Еще одна вещь, которая может вызвать ошибку 404, – это то, что у вас есть главная страница для отображения сообщения с типом сообщения, и у нее такой же слаг, как и у фактического слага единственного типа. Например, если у вас есть тип сообщения с именем «портфолио», и у вас также есть главная страница «Портфолио» с ярлыком «портфолио» (другими словами, чтобы получить доступ к записи портфолио, вы должны перейти на site.com/portfolio/sample- post), это создает конфликт, вызывающий ошибку 404 в ваших сообщениях единственного типа. Вот почему вы часто обнаруживаете, что тип публикации портфолио использует заголовок «проекты» или «элемент портфолио» для единственного заголовка.

Решение:

  1. Вы можете изменить имя страницы, чтобы оно отличалось от пользовательского типа сообщения.
  2. Вы можете изменить ярлык настраиваемого типа сообщения, что делается путем изменения параметра перезаписи при регистрации настраиваемого типа сообщения.

3 Правила перезаписи Auto Flush (для разработчиков)

Другая причина ошибок 404 заключается в том, что всякий раз, когда регистрируется новый тип сообщения, вам необходимо «очистить» свои правила перезаписи в WordPress. Это можно сделать, перейдя в «Настройки»> «Постоянные ссылки» и нажав кнопку «Сохранить» (упомянутая в первом разделе этого сообщения).

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

// Code for themes add_action( 'after_switch_theme', 'flush_rewrite_rules' ); // Code for plugins register_deactivation_hook( __FILE__, 'flush_rewrite_rules' ); register_activation_hook( __FILE__, 'myplugin_flush_rewrites' ); function myplugin_flush_rewrites() { // call your CPT registration function here (it should also be hooked into 'init') myplugin_custom_post_types_registration(); flush_rewrite_rules(); }

Есть другая ошибка или решение?

Если у вас возникла другая ошибка или у вас есть лучшее решение, то мое, пожалуйста, прокомментируйте ниже и дайте мне знать. Это не только поможет мне, но, вероятно, поможет другим людям, которые ищут решение своей проблемы. Благодаря!

Источник записи: https://www.wpexplorer.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее