Ноя
24
8

Нужный URL в wordpress при использовании нескольких категорий

музыкальный порталБуквально вчера для одного моего блога на 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.

категории wordpress

После этого, если все было сделано правильно нужные вам категории будут иметь наименьший ID, а менее значимые чуть побольше. Таким образом при написании нового поста и использовании нескольких категорий все будет работать, как нужно. Более того — прошлые ссылки URL не будет изменены! Метод, конечно, слегка «странный» зато рабочий:)

P.S. В более новых версиях WordPress есть такое понятие как Таксономия, которое позволяет грубо говоря создавать группы объектов по значениям, например, те же Релизы, Диджеи и Жанры не привязывая все это к категориям. В wordpress 3.0 данный механизм пользователи могут использовать достаточно легко и, возможно, он позволил бы решить мою задачу другим методом. Поэтому мой вариант решения проблемы подходит точно для «бывалых» блогов, которые создавались значительно раньше.

Если у вас идеи получше как это организовать — пишите в комментариях.

P.S. Постовой. Хотите использовать всемирную паутину для продаж? — закажите продвижение сайта в интернете для привлечения новых клиентов.
Тем кто занимается разработкой в УАнете будет интересна услуга хостинг украина от  одной из самых популярных компаний на рынке — Hosted.
В одном из seo блогов опубликована полезная статья про топ бирж, где покупка ссылок может быть осуществлена как в ручном, так и автоматическом режиме.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 4, средний балл: 4,50 из 7)
Загрузка...

категория Категории: Возможности; Хаки и секреты;
теги Теги: , , , , .

комментариев 8 к статье “Нужный URL в wordpress при использовании нескольких категорий”

  • ct   29.11.2010

    есть еще такая идея:
    можно в functions.php ввести массив с приоритетом категорий
    а затем добавить фильтр на хук pre_post_link и там заменять %category% на более приоритетную категорию

  • Tod   30.11.2010

    ct, звучит вполне реально, но мне лично сложно это реализовать из-за недостатка знаний в хуках вордпресс, без опыта программирования не решить такую задачу.

  • Дмитрий   14.12.2011

    у меня вопрос, может не совсем в тему, но тоже про URL. Создавал новую страницу и постоянную ссылку он пишет мой сайт/?page_id=4, пробовал менять к примеру на мой сайт/o_sebe. После этого на сайте были неправильные переходы на страницы, переходил в другие рубрики или просто нажимал на отзыв /но все время попадал на новую страницу. Это я сделал что-то не так или тема глючная? Заранее спасибо за ответ!

  • Tod   15.12.2011

    Дмитрий, если честно, не совсем понял в чем вопрос и проблема. Можно оставлять страницы через id, если включить в разделе Параметры — Постоянные ссылки для постов блога, тогда и для страниц такое использовать есть смысл.

  • Арт   30.06.2013

    Доброго. Коллега, имею простой вопро по выводу категорий.

    Есть у меня основная — man, есть принадлежащией ей word и super. Т.е. урл статьи выглядит как

    мой сайт\man\word\article.html, но в таком виде в базе он не хранится. Я базник, поэтому мне проще залезть в mysql и попытаться собрать его из таблиц wp_term_relationships и иже с ними. Однако колонка parent как-то не очень parent. Id категории для man там равно 2, но соответствующих подкатегорий показывается ровно одна — word, а super — нет. В чем таинство и как правильно собрать строчку вида http:\\мой сайт\главная категория\подкатегория\статья.html?
    Заранее спасибо.

  • Tod   01.07.2013

    Арт, нужно в админке в разделе «Параметры — Постоянные ссылки» установить формат /%category%/%postname%.html и тогда все будет выводить, как вам нужно. По крайней мере у меня работает. Если статья принадлежит двум категориям, то ссылки формируется с той, у которой меньше ID.

  • Роман llgr   07.06.2015

    Я как раз столкнулся с необходимостью поменят ID категорий, не получается за счёт создания новых «пустышек» и переименования старых, изменить им ID. Причём я тенденцию так и не уловил. Произвожу одни и те же операции на разных категориях, кое-где ID поменялись на новые высокие, а кое-где ты хоть 20 раз поменяй название и slug, а ID не изменится. Может посоветуете что-нибудь, ведь со времени создания поста много воды утекло?

  • Tod   08.06.2015

    Роман, раньше получалось делать через «пустые категории», но с новыми версиями вордпресс я как-то тоже не могу уловить принцип работы. Тут нужно гуглить возможно есть какой-то плагин.

Оставить комментарий

(следующая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Последние посты
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости