Буквально вчера для одного моего блога на wordpress возникла ситуация, когда для одного поста было задано несколько категорий, и для красивого URL мне нужно было выбрать одну из них – оказывается это невозможно! Чтобы было более понятно приведу конкретный пример. Итак, в своем древнем (и не особо наполняемом) блоге о клубной музыке я добавил обзор одного из альбомов Just a Little More Love некого товарища, если знаете такого, David Guetta. Так вот изначально я решил публиковать подобные записи в категории Альбомы и параллельно задавая для них еще и Стиль, допустим получилось бы что-то вроде.
http://clubsdj.net/albums/just-a-little-more-love/
http://clubsdj.net/house/just-a-little-more-love/
Собственно, не особо понятно о чем же здесь идет речь, поэтому как для seo так и для посетителей сайта было бы лучше использовать ссылку
http://clubsdj.net/devid-getta/just-a-little-more-love/
Дальше я не раздумывая добавил еще одну категорию в wordpress, но URL оставался прежним. И поменять это никак нельзя. В кодексе wordpress четко сказано, что:
При использовании нескольких категорий только одна из них будет отображена в URL, причем это будет категория с самым маленьким ID, то есть самая «старая» в блоге. Хотя при этом, конечно, пост будет доступен в разделах всех остальных категорий без проблем.
Перелопатив множество ссылок, статей в гугле нашел только заметку одного человека на официальном сайте WordPress в разделе «Идеи» (Ideas), где он высказывается о данной проблеме и говорит что неплохо было бы выбирать категорию в wordpress. Также в разделе «Поддержки» был топик по этому поводу, где кое-кто советовал решить проблему кардинально – зайти в базу данных MYSQL да изменить значения в нужных полях. Хотя, думаю, это вызвало бы немало проблем с другими постами, использующими изменяемую категорию – короче тут нужно четко представлять себе структуру и связи в базе данных, что для 95% пользователей весьма проблематично.
Лично я использовал менее радикальный и весьма наглядный метод. Суть его заключается в следующем – мы предварительно разбиваем все категории на группы в соответствии со структурой вашего сайта.
То есть в данном случае наиболее важная группа категорий – диджеи, во всех постах, где оно будет использоваться эта категория добавиться в URL ссылку. Потом менее важные – жанры и релизы. Все, это конечно относительно и используется исключительно для примера чтобы было нагляднее, можно использовать какую угодно структуру.
Только, разумеется, эти вещи желательно планировать заранее, иначе потом придется потратить немного времени на внесение изменений. Как изменить последовательность включения категорий в URL для уже имеющегося сайта – очень просто:
1. Заходим в меню «Разделы» в админке wordpress и добавляем «пустые категории» штук эдак 100 в зависимости от количества разделов.
2. Вносим изменения в имеющиеся категории в соответствии с разработанной схемой (рис. выше), только сначала нужно переименовать «старую категорию» чтобы можно было создать новую в таким же именем и slug.
После этого, если все было сделано правильно нужные вам категории будут иметь наименьший ID, а менее значимые чуть побольше. Таким образом при написании нового поста и использовании нескольких категорий все будет работать, как нужно. Более того – прошлые ссылки URL не будет изменены! Метод, конечно, слегка «странный» зато рабочий.
P.S. В более новых версиях WordPress есть такое понятие как Таксономия, которое позволяет грубо говоря создавать группы объектов по значениям, например, те же Релизы, Диджеи и Жанры не привязывая все это к категориям. В wordpress 3.0 данный механизм пользователи могут использовать достаточно легко и, возможно, он позволил бы решить мою задачу другим методом. Поэтому мой вариант решения проблемы подходит точно для «бывалых» блогов, которые создавались значительно раньше.