Как изменить url записей и рубрик?
Задача привести ссылки записей и рубрик к виду:
/news/имя-рубрики/
/news/имя-записи/
Изменил настройки постоянных ссылок: /news/%postname%/
Работает почти как надо, но к ссылкам рубрик добавляется category, т.е. /news/category/имя-рубрики/
Пробовал разные плагины для удаления category, вместе с ним удаляется и news
Дополнительные вопросы
Этот пробовали ? https://wordpress.org/plugins/remove-cpt-base/
И выбрось эту идею из головы - избавляться от базовых слагов.
По поводу "выбрось эту идею из головы". Не я придумал, стоит такая задача. Но за статью спасибо, может получится переубедить.
Ответы на вопрос 0
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Настройка
/news/%postname%/меняет структуру URL записей, но не меняет base рубрик. Рубрики WordPress по умолчанию имеют свой category base, поэтому получается/news/category/rubrika/. Чтобы получить/news/rubrika/, нужно отдельно изменить базу рубрик.Самый простой способ без кода: «Настройки → Постоянные ссылки» и в поле «Префикс для рубрик» указать:
news
Тогда рубрики будут вида:
/news/имя-рубрики/
Но есть важный конфликт: если записи тоже имеют вид
/news/%postname%/, WordPress должен отличать запись от рубрики внутри одного уровня. Если slug записи совпадёт со slug рубрики, будет конфликт. В больших сайтах это может стать проблемой.Более безопасная структура:
Записи: /news/post-name/ Рубрики: /news/category-name/
Она красивая, но требует дисциплины по slug. Если хотите полностью избежать конфликтов, лучше оставить разные базы:
Записи: /news/post-name/ Рубрики: /news/category/category-name/
Или:
Записи: /blog/post-name/ Рубрики: /news/category-name/
Если всё же убираете
category, обязательно проверьте: архивы рубрик, одиночные записи, пагинацию рубрик, sitemap и canonical. После изменения структуры сделайте 301-редиректы со старых URL на новые.Итог: для рубрик меняется отдельный «Префикс для рубрик». Но одинаковый base
/news/для записей и рубрик может давать конфликты, поэтому используйте аккуратно.