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

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