X
Заказать услугу

404 ошибка на странице рубрики WordPress или безболезненное удаление category из адреса ссылки

Плагины и Шаблоны для Wordpress
  • 2018-12-13
  • 1766 просмотр

    5 комментарий

  • Дизайн и разработка сайта

Доброго времени суток. 🙂

Данная статья будет полезна тем, кто столкнулся с небольшой проблемой - 404 ошибка на странице категории. Такая ошибка возникает при попытке удаления category из адреса ссылки, во время настройки ЧПУ (человеко-понятный урл). иногда данная процедура проходит на ура, но бывает что в результате определенных действий, на страницах категорий появляется ошибка. Подробнее о том как убирается category, я писал в статье - Как убрать category из URL адреса WordPress.

404 ошибка на странице рубрики WordPress

В итоге, когда вы задаете настройки постоянных ссылок таким образом - /%category%/%postname%.html, то ссылка получится примерно такой http://gnatkovsky.com.ua/category/name/postname.html. Чтобы убрать category - в префикс рубрик ставится точка. Иногда все ок, но бывает и вылазят проблемы. Если вы использовали какой-то плагин, то вряд ли у вас бы такое получилось. Но не всегда хочется использовать плагины. Хотя одним из решений этой проблемы, всеравно я рекомендовал бы установку плагина - WP No Category Base. После чего проблема 404 ошибки сразу же исчезнет.

Так же можете добавить небольшой код в свой файл функций - functions.php активной темы.

add_filter('user_trailingslashit', 'remcat_function');
function remcat_function($link) {
    return str_replace("/category/", "/", $link);
}
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');
function remcat_rewrite($wp_rewrite) {
    $new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

Таким образом вы по сути сделаете то же. что делает плагин WP No Category Base.

У данного кода есть несколько условий. Чтобы он работал,нужно обязательно указывать в настройках ссылок параметр типа /%category%/%postname%/ - или /%category%/%postname%.html, чтобы там в начале было /%category%/. Так же нужно, чтобы в поле - Префикс рубрик, ничего не было. Оно должно быть пустым.

Проблема решена, 404 ошибка исчезла, ненавистное Category из ссылки убрано, можно дальше радоваться жизни!

На этом все, спасибо за внимание. 🙂

Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)

Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 5, в среднем: 5 из 5
Читайте также
Опубликовано 5 комментариев

Добавить комментарий для Марат Отменить ответ

Чтобы оставить комментарий - заполните поля ниже. Ваш e-mail не будет опубликован. Все поля обязательны

Нажмите, чтобы добавить код в комментарий. Далее добавьте свой код внутрь тегов <code> тут код </code>
Я ознакомлен(а) с политикой конфиденциальности и даю согласие на обработку персональных данных*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.