n-wp.ru — блог о 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 и как это дело исправить?

4 комментария

  • Исправил. Случайным образом. Проблема была в пермалинках.
    В структуру пермалинков добавил /%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?

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

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

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

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

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

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

/* ]]> */