Как реанимировать категории после удаления мультисайтовости?

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Добрый день. Проблема в следующем: удалил мультисайтовость на сайте. Делал по инструкции. Всё теперь работает, кроме категорий и архивов. Все категории выдают 404 ошибку.

Что пробовал сделать:

  1. Проверил код ответа сервера на Яндекс.Вебмастере — Код статуса HTTP: «404 Not Found»
  2. Пересохранял структуру постоянных ссылок — не помогло
  3. Смотрел файл functions.php активной темы на предмет наличия кода типа flush_rewrite_rules — нет
  4. Поменял структуру .htaccess на стандартную — не помогает
  5. Отключил все плагины, могущие влиять на категории или пермалинки — не помогло
  6. Проверил страницы архивов по датам (например /2013/) — 404 ошибки нет, 200 OK, но на сайте выводится только шапка, контента нет, хотя используемая тема WP точно страницы архивов имеет, но это, в-общем, другой вопрос
  7. … дальше что делать не знаю, поэтому решил спросить у знающих людей: что может повлиять на удаление страниц категорий в ошибки 404 и как это дело исправить?
Создай свой первый сайт на WordPress

Voeslav
Оцените автора
Добавить комментарий

  1. Voeslav автор

    Исправил. Случайным образом. Проблема была в пермалинках.
    В структуру пермалинков добавил /%category%/
    И всё заработало. Категории вышли из тени. Но.
    Оказалось, что эта структура пермалинков не соответствует исходной. Исходная же структура была сложна и заковыриста. Настолько, что я не в силах вспомнить, какими инструментами мне в свое время удалось заставить всё работать именно так.
    Существует, например, категория блога “Работы”. И в ней подкатегории “Сайты”, “Печатная реклама” и “Логотипы”. Это типа портфолио. И Url-ы этой категории были такими:
    /work/2014/sozdanie-sajta-arendy-spectexniki или /work/prints/2012/reklamnyj-poster
    Теперь же это выглядит так: /work/2014/06/15/sozdanie-sajta-arendy-spectexniki/ (появились ненужные месяц и день, поскольку структура пермалинков теперь одна на все случаи)
    В то же самое время эти месяц и день нужны и использовались в категории Блог, например:
    /blog/2006/09/10/sajt-fizkulturno-ozdorovitelnogo-centra-vozrozhdenie/
    С теперешней же структурой эта же запись блога выглядит как /work/sajty/2006/09/10/sajt-fizkulturno-ozdorovitelnogo-centra-vozrozhdenie/ (Где нужный только в этом месте /blog/? Зечем ненужные тут /work/sajty/?)

    То есть, как было: в категории блог игнорируются все остальные категории записи, кроме “Blog”. А в категории work (и в подкатегориях) убираются месяц и день, остается только месяц.

    Есть ли какие-нибудь варианты организовать такую сложную структуру url?

    Ответить
  2. tiaurus

    У вас в настройках постоянных ссылок фигурируют год/месяц/день в ссылке на посты? Постоянные ссылки – Настройки постоянных ссылок – Общие настройки. Мне кажется, нужно копать именно там. Попробуйте выбрать схему Название записи и сохранить изменения.

    Ответить
    1. Voeslav автор

      Спасибо за ответ! Уже разобрался. После ухода с мультисайтинга начали проявляться такие косяки, что пришлось применить единственный возможный вариант – восстановление сайта из бекапа.
      Попутно, кстати, проявились и причины такой кудрявой структуры URL. Дело в том, что после установки мультисайта, видимо, настройки URL и сбились, а я не обратил на это внимание. В результате часть сайта переиндексировалась Яндексом и встала в выдачу с новыми URL (с месяцем и днем), а часть осталась старой.
      В-общем, сейчас оставлена структура такая:

      /%category%/%year%/%postname%

      . Плюс в функциях вставлем механизм убирания category:

      add_filter('category_link', create_function('$a', 'return str_replace("category/", "", $a);'), 9999);

      Всё это позволяет разделить блог на 2 независимые части: собственно блог с подкатегориями блога, и как бы портфолио (work) с подкатегориями “сайты”, “логотипы” и т.п.
      Вот собственно и всё. В-принципе, тему можно наверное закрывать, вряд ли кому это всё поможет ) Один вывод железный: делайте бекапы!

      Остался только один вопрос: можно ли сделать для категории work с подкатегориями дизайн, отличный от категории blog? Хотя бы в мелочах, как текст заголовка над выводом записей этой категории?

      Ответить
      1. Voeslav автор

        (Даже этот вопрос уже решён (тексты заголовка над категорией редактируются в файле archive.php))

        Ответить