GRAVITSAPA.INFO

Компьютеры, электроника, софт, авто, мото, вело, сайты, жизнь, советы :)

GRAVITSAPA.info - интересный блог

Устраняем ошибку 404 на страницах записей и пагинации в WordPress

94 просмотров Создание сайтов Нет комментов » 16 Окт 2018

Исправляем ошибку 404 на страницах записей в WordPress

Ошибка может проявляться явно и не явно. Когда при открытии страницы записи вы сразу же попадается на страницу 404, то это явно указывает Вам на то, что произошел глюк. Но бывают случаи, когда страница записи нормально открываться, при этом отдаёт не код 200, а 404. Существует 3 метода решения этой проблемы:

  1. Пересохранение постоянных ссылок в WordPress. Заходим в Настройки -> Постоянные ссылки -> Выбираем «Простые» -> Нажимаем «Сохранить».
    Пробуем зайти в запись, если всё нормально, то включите снова тот режим постоянных ссылок, какой был и перейдём ко второму методу.
  2. Исходя из того, что при «простом» режиме постоянных ссылок возможно всё заработало, или даже если нет, то попробуем проверить оригинальность файла .htaccess. Находится он в корневой папке на FTP. Перейдите по ссылки и откройте Ваш файл .htaccess в редакторе. Можете даже не сравнивать, а просто скопировать код с сайта WordPress и заменить в своем файле.
  3. Третий метод предусматривает банальное отключение плагинов. Так же попробуйте переключится на стандартную тему оформления. Рекомендую делать всё поочерёдно: отключили плагин -> проверили работу страницы записи. В конце, если отключение плагинов не помогло, то включите стандартную тему оформления. Если переключение темы помогло, то придётся копаться в вашей теме. Особенно следует обратить внимание на такие файлы: functions.php и single.php, а так же 404.php. В любом случае в итоге нужно пересмотреть код всех файлов темы, искать код влияющий на URL и совершающий различное перенаправление.

Исправляем ошибку 404 на страницах пагинации в WordPress

Почему возникает ошибка 404 на страницах пагинации? Замечено, что ситуация возникает, когда в настройках постоянных ссылок выставлен произвольный режим в формате /%category%/%postname%/. Предполагается, что на другой режим менять нежелательно. Поэтому открываем файл functions.php и лепим туда этот код обязательно между <?php … ?>:

function codernote_request($query_string ) {
if ( isset( $query_string['page'] ) ) {
if ( ''!=$query_string['page'] ) {
if ( isset( $query_string['name'] ) ) {
unset( $query_string['name'] ); }
}
}
return $query_string;
}
add_filter('request', 'codernote_request');

Код выше убирает из URL пагинации то, что вызывает ошибку 404, но при этом ломает запрос. Поэтому, что бы запрос страницы пагинации срабатывал, добавляем ещё код:
add_action('pre_get_posts', 'codernote_pre_get_posts');
function codernote_pre_get_posts( $query ) {
if ( $query->is_main_query() && !$query->is_feed() && !is_admin() ) {
$query->set( 'paged', str_replace( '/', '', get_query_var( 'page' ) ) );
}
}

Почитайте ещё эти интересные статьи:

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

Наверх