Нужный URL в wordpress при использовании нескольких категорий
Буквально вчера для одного моего блога на wordpress возникла ситуация, когда для одного поста было задано несколько категорий, и для красивого URL мне нужно было выбрать одну из них — оказывается это невозможно! Чтобы было более понятно приведу конкретный пример. Итак, в своем древнем (и не особо наполняемом) блоге о клубной музыке я добавил обзор одного из альбомов Just a Little More Love некого товарища, если знаете такого, David Guetta. Так вот изначально я решил публиковать подобные записи в категории Альбомы и параллельно задавая для них еще и Стиль, допустим получилось бы что-то вроде.
Обновление 12.04.2020: Спустя много лет я нашел отличное решение данной задачи – в плагине Yoast SEO выбор основной категории выполняется прямо в админке, и вам не нужно придумывать разные хитрости для этого.
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 для уже имеющегося сайта — очень просто:
- Заходим в меню «Разделы» в админке wordpress и добавляем «пустые категории» штук эдак 100 в зависимости от количества разделов.
- Вносим изменения в имеющиеся категории в соответствии с разработанной схемой (рис. выше), только сначала нужно переименовать «старую категорию» чтобы можно было создать новую в таким же именем и slug.
После этого, если все было сделано правильно нужные вам категории будут иметь наименьший ID, а менее значимые чуть побольше. Таким образом при написании нового поста и использовании нескольких категорий все будет работать, как нужно. Более того — прошлые ссылки URL не будет изменены! Метод, конечно, слегка «странный» зато рабочий:)
P.S. В более новых версиях WordPress есть такое понятие как Таксономия, которое позволяет грубо говоря создавать группы объектов по значениям, например, те же Релизы, Диджеи и Жанры не привязывая все это к категориям. В wordpress 3.0 данный механизм пользователи могут использовать достаточно легко и, возможно, он позволил бы решить мою задачу другим методом. Поэтому мой вариант решения проблемы подходит точно для «бывалых» блогов, которые создавались значительно раньше.
Если у вас идеи получше как это организовать — пишите в комментариях.
P.S. Хотите использовать всемирную паутину для продаж? — закажите продвижение сайта в интернете для привлечения новых клиентов.
Тем кто занимается разработкой в УАнете будет интересна услуга хостинг украина от одной из самых популярных компаний на рынке — Hosted.
комментариев 10 к статье “Нужный URL в wordpress при использовании нескольких категорий”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,90 из 7, голосов - 48)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
есть еще такая идея:
можно в functions.php ввести массив с приоритетом категорий
а затем добавить фильтр на хук pre_post_link и там заменять %category% на более приоритетную категорию
ct, звучит вполне реально, но мне лично сложно это реализовать из-за недостатка знаний в хуках вордпресс, без опыта программирования не решить такую задачу.
у меня вопрос, может не совсем в тему, но тоже про URL. Создавал новую страницу и постоянную ссылку он пишет мой сайт/?page_id=4, пробовал менять к примеру на мой сайт/o_sebe. После этого на сайте были неправильные переходы на страницы, переходил в другие рубрики или просто нажимал на отзыв /но все время попадал на новую страницу. Это я сделал что-то не так или тема глючная? Заранее спасибо за ответ!
Дмитрий, если честно, не совсем понял в чем вопрос и проблема. Можно оставлять страницы через id, если включить в разделе Параметры — Постоянные ссылки для постов блога, тогда и для страниц такое использовать есть смысл.
Доброго. Коллега, имею простой вопро по выводу категорий.
Есть у меня основная — man, есть принадлежащией ей word и super. Т.е. урл статьи выглядит как
мой сайт\man\word\article.html, но в таком виде в базе он не хранится. Я базник, поэтому мне проще залезть в mysql и попытаться собрать его из таблиц wp_term_relationships и иже с ними. Однако колонка parent как-то не очень parent. Id категории для man там равно 2, но соответствующих подкатегорий показывается ровно одна — word, а super — нет. В чем таинство и как правильно собрать строчку вида http:\\мой сайт\главная категория\подкатегория\статья.html?
Заранее спасибо.
Арт, нужно в админке в разделе «Параметры — Постоянные ссылки» установить формат /%category%/%postname%.html и тогда все будет выводить, как вам нужно. По крайней мере у меня работает. Если статья принадлежит двум категориям, то ссылки формируется с той, у которой меньше ID.
Я как раз столкнулся с необходимостью поменят ID категорий, не получается за счёт создания новых «пустышек» и переименования старых, изменить им ID. Причём я тенденцию так и не уловил. Произвожу одни и те же операции на разных категориях, кое-где ID поменялись на новые высокие, а кое-где ты хоть 20 раз поменяй название и slug, а ID не изменится. Может посоветуете что-нибудь, ведь со времени создания поста много воды утекло?
Роман, раньше получалось делать через «пустые категории», но с новыми версиями вордпресс я как-то тоже не могу уловить принцип работы. Тут нужно гуглить возможно есть какой-то плагин.
А если эту новую категории сделать подкатегорией для одной из основных? Тогда вид ссылки будет, например, таким: clubsdj.net/albums/jdevid-getta/just-a-little-more-love/
Miha, данный пост достаточно старый, сейчас использую плагин Yoast SEO и выбор основной категории там реализован прямо в админке.