Рубрики и категории wordpress, функция wp_list_categories
Для каждого поста и записи wordpress пользователь может задавать одну или несколько рубрик (категорий). Эта возможность позволяет сгруппировать близкие по смыслу записи и предоставить возможность посетителям читать и просматривать только те рубрики, которые им нравятся. Например, когда я создавай свой основной блог Tod’s Blog, то собирался писать обо всех нюансах интернета — начиная с дизайна и заканчивая программированием. Допустим, человек пришел из поисковика на статью про wordpress и захотел бы почитать про систему еще больше – ему пришлось бы рыться в архивах, повторно использовать поиск либо просматривать все посты подряд. Разумеется, этого всего можно было избежать, зайдя в специальную категорию под названием wordpress. Или, например, для те, кто увлекается лишь дизайном, могла быть интересна рубрика wordpress темы для блога.
Если внимательно посмотрите на шапку блога, то можете увидеть своего рода меню, где рубрики wordpress выступают в роли разделов проекта. Как по мне, это достаточно удобный и наглядный способ разделения тематики записей.
Для управления категориями wordpress существует несколько механизмов. Во-первых, создание и редактирование всех категорий производится в разделе «Записи» пункт «Рубрики».
В самом центре страницы вы увидите форму для добавления новой категории. Здесь нужно указать ее название (имя), ярлык (часть ссылки url для чпу), родительскую категорию (если такая есть), а также можно задать краткое описание. Родительская категорий позволяет создавать в wordpress разделы с несколькими уровнями вложенности – например, для категории «водрпресс» на каком-то ИТ блоге можно добавить те же шаблоны, плагины и т.п.
Справа на странице Рубрики отображаются все категории wordpress, с возможностью из редактирования либо удаления. Чтобы произвести действия достаточно подвести курсор мышки на имя той или иной категории, после чего увидите небольшое всплывающее меню.
При редактировании записи wordpress вы увидите в одном из информационных блоков тот, где можно будет выбрать одну или несколько категорий для статьи. Просто поставьте галочки напротив нужных имен.
Здесь же можно добавлять новые рубрики – кликнув по соответствующей ссылке. Единственный недостаток этого механизма в том, что при создании можно указать лишь имя и родительскую категорию, тогда для как задания поля ярлык придется переходить в раздел «Рубрики» и редактировать информацию там.
Кроме того редактировать категории для постов в блоге можно через их список в меню Записи – Изменить. Там при наведении на ту или иную публикацию вы увидите ссылку «Быстрое редактирование». Нажимаем по ней и видим форму для правки:
Здесь можно изменить и категории, и теги, и всю дополнительную информацию по статье. Вещь очень удобная + работает без перезагрузки страницы.
Функция wp_list_categories для категории wordpress
По традиции рассматриваю не только вопрос работы с теми или иными элементами системы, но и привожу специальные функции для шаблонов. Точно также как я рассказывал про wordpress страницы. Итак, для вывода списка категорий со ссылками на них используется wp_list_categories. Она имеет целый ряд аргументов:
- show_option_all – отображает ссылка на все категории, если в качестве стиля отображения выбрал список.
- orderby – сортировка для категорий по ID, имени (name), ярлыку (slug), количеству постов (count).
- order – порядок сортировки (ASC – по увеличению, DESC – по уменьшению).
- show_last_updated – показывать дату последнего обновления.
- style – стиль оформления: список (list), разделение через <br> (none).
- show_count – отображать количество постов в категории.
- hide_empty – скрывать пустые рубрики, где нет записей.
- use_desc_for_title – использовать описание для атрибута title в ссылке.
- child_of – вывод только категорий для заданной родительской рубрики.
- feed – отображение ссылку на wordpress rss фид для категорий.
- feed_type – тип фида.
- feed_image – картинка для значка rss.
- exclude – исключение категорий из списка, при этом параметр child_of автоматически отключается.
- exclude_tree – исключения целой ветки рубрик.
- include – обратный параметр, который включает только указанные категории wordpress в список.
- hierarchical – параметр для отображения подкатегорий.
- title_li – заголовок списка рубрик.
- number – количество категорий для отображения (если их слишком много).
- echo – выводит рубрики, по умолчанию равен True.
- depth – указывает количество уровней для подкатегорий для вывода.
Напоследок приведу ряд примеров использования wp_list_categories. Во-первых, вариант из шапки этого блога.
<?php wp_list_categories('hide_empty=1&exclude=1&title_li=&orderby=count&order=desc&use_desc_for_title=0'); ?> |
Здесь задано отображение скрытых категорий, исключение из списка рубрики с, пустая строка для заголовка блока, сортировка по количеству статей и по уменьшению (то есть больше всего статей у меня в разделе функции wordpress). Последний аргумент не подставляет описание категории в title для ссылки.
Ну и еще парочку простых ситуаций. Использование исключений и включений категорий.
<ul><?php wp_list_categories('orderby=name&include=3,5,9,16'); ?></ul> <ul><?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?></ul> |
Отображения только подрубрик выбранной категории
<ul> <?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?> </ul> |
Показ категорий с RSS ссылками
<ul> <?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?> </ul> |
Можно использовать картинку для фидов rss
<ul> <?php wp_list_categories('orderby=name&show_count=1&feed_image=/images/rss.gif'); ?> </ul> |
Если есть что дополнить про рубрики и категории wordpress, пишем в комментариях.
Update: Также вам может пригодится небольшой хак чтобы убрать ненужный текст из атрибута title для ссылок категорий. В wordpress по умолчанию определяется текст title что-то вроде «просмотреть все записи в рубрике ….», можно вместо этого просто оставить название рубрики — читаем статью по ссылке выше.
комментариев 319 к статье “Рубрики и категории wordpress, функция wp_list_categories”
Блог 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,86 из 7, голосов - 49)
- Умный копирайт в 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
как можно сделать вывод подкатегорий под родительскими категориями?
Интересно, спасибо))
Прочитал, применил, получилось.
Спасибо.
Подскажите, пожалуйста, как вывести подкатегории только одного уровня? На сайта очень сложная структура, и если вывести в разделе подразделы всей вложенности, это очень не красиво. Хотелось бы реализовать, чтобы выводились подкатегории одного уровня той категории, в которой находимся. Что за переменную надо для этого прописать? Заранее спасибо.
Анна, я бы категории организовал в системе с нужной иерархией, а потом бы попробовал выводить конкретные подкатегории через переменную child_of. Еще есть вариант создать 5-7 меню с нужными категориями и потом выводить из в шаблоне с условием IF.
Спасибо, Tod, значит действительно не все так просто, как хотелось бы. Попробую через child_of, т.к. структура сайта с нужной иерархией.
А как совсем отключить ссылку на рубриках и метках?
Виталий, в функции wp_list_categories такой возможности нет. Если честно, не совсем понял зачем вам это нужно. Выводят список рубрик и тегов со ссылками в сайдбаре дабы переходить на страницы рубрик, а просто названия зачем? Можно создать текстовый виджет и добавить туда название категорий. Возможно и есть такие функции, но я их не встречал.
А не подскажете как вывести рубрики родительскую и дочерную группу?
Что бы проще было, приведу пример.
Есть запись, в которой введены рубрики и под рубрики, этих записей куча и в каждой из них есть свои рубрики и под рубрики. Я хочу сделать так, что бы в самой записи выводились только использованные рубрики и подрубрики.
Сайт фильмов – рубрика актер, подрубрика актеры, перешел в фильм и там показывает – Актер: Такой то
Максим, возможно, вам пригодится последняя статья про вывод подстраниц — это не конкретное решение, но можно попробовать от этого отталкиваться.
Здравствуйте.
Подскажите пожалуйста как не выводить главную родительскую категорию, а все ее дочерние выводить?
Вот у меня такая схема рубрик:
1 — Москва
1.1 — Обучение
1.1.1 — Университеты
2 — Киев
2.1 — Образование
2.1.1 — Университеты
И необходимо в статье, которая находиться в рубрике 1.1.1 или 2.1.1 вывести список рубрик только без уровня 1 т.е. главного родителя. И таких категорий будет много…
Подскажите пожалуйста как это реализовать.
Юрий, однозначного ответа дать не могу, т.к. не было такой задачи. Во-первых, я бы уточнил что там за параметр depth wp_list_categories, во-вторых, можно отменить вывод функции (echo=0) и смотрим возможно получится убрать просто верхний уровень с помощью php по аналогии с этим хаком. Я бы еще, наверное, погуглить решения в блогах, задача вроде как востребованная.
Спасибо, помогло. Но как дописать в начале «Все»?
Например у меня есть три рубрики: «Акции, Новости, Статьи», а надо вывести на страницу «Все акции» и т.д. Есть ли такая функция в WP?
Андрей, думаю нужно сделать что-то вроде примера описанного в этой статье, то есть добавляете параметр echo=0 и меняете текст ссылки.
День добрый! Спасибо за статью! Подскажите а как задать стиль для вывода рубрик. Сейчас они вертикально.
Юрий, через стили в style.css, свойства dispaly: inline.
Как вывести категории в меню?
Иван, проще всего воспользоваться механизмом создания меню который находится в разделе «Внешний вид» — «Меню».
Здравствуйте,
У меня вопрос немного не по теме. Как сделать url как у вас (пример адреса этой страницы). Т.е. название сайта->категория->пост . А то у меня так сайта->категория, потом после клика сайт->пост. Я хочу чтоб было сайт->категория->пост. Как такие урл называются и каким плагином выполняются?
Сергеевич, в разделе Параметры — Постоянные ссылки выбираете произвольный формат УРЛ и указываете /%category%/%postname%/ если я правильно понял. Возможно, также вам пригодиться эта статья.
как зафиксировать кнопку (ссылку) названия рубрики при нажатии? под «зафиксировать» я подразумеваю, чтобы кнопка изменяла стиль css при активации ее рубрики.
Допустим, я перехожу в рубрику «разное» (site.ru/other), теперь, когда я нахожусь в «разное» и просматриваю новости, ссылка (кнопка) названия рубрики должна быть, к примеру, подчеркнутой. Как данное действие провернуть в редакторе?
sergey666, для текущей категории имеется класс current-cat.
Здравствуйте, я очень хочу понять, и в общем понял, но не до конца, есть желание построить сложную схему блога. проблемма вот в чем, Есть Рубрика а в ней подруббрики 4шт или 2 сколько создам, они выводиться на главную в одном месте «Категории» и при наполнении уходят, то есть обновляются хочется сделать так, что бы 1 место последней записи было главным описанием, которое не двигалось, а остальные 4 обновлялись, при этом уже на странице рубрик делились так же как и на главной
Виталий, так оно сейчас на вашем сайте так и есть вроде бы — первые посты категорий отображаются. По поводу главного описания, я бы попробовал 2 вещи — «закрепить запись в топе» вот так а в этот пост добавить именно описание. Второй вариант — использовать функцию category_description для вывода описания в цикле. То есть там на главной есть функция для избранных категорий выводить последний посты, и разобраться как-то в этом нужно дабы втулить туда category_description.
Чтобы все это было также и на других страницах, это нужно править шаблоны этих страниц. Тут можно использовать http://codex.wordpress.org/Category_Templates.
Как отобразить количество записей в каждой рубрике? Как это видно у вас здесь: http://hkar.ru/wAz6
Павел, если вставлять через виджет, то там нужно отметить пункт «Отображать число записей». Если через функцию, то нужно использовать параметр show_count=1.
Добрый день! Подскажите пожалуйста, на сайте вложенность категорий такая http://www.test.com/category/srednie-tanki/srednie-tanki-kitaya/t-34-3 .
Если смотреть на это адрес то не получается добавить описание к самой последней рубрике(t-34-3), тоесть в админке добавляю описание, а оно просто не сохраняется не в базу ни куда(((. А на родительские категории все хорошо добавляестя и сохраняется. Не подскажите как решить проблему?
Алик, последнее это точно рубрика а не пост блога? Теоретически не может с одним и тем же шаблоном для одних рубрик выводится описание, а для других нет. Где-то здесь ошибка.
Здравствуйте!
Если возможно, подскажите, пожалуйста, как решить проблему (или хотя бы где коп’ать): неправильно выводится количество постов в скобках рядом с названием рубрики — у всех больше на единицу, чем должно быть. В админке и базе данных тоже неправильное количество указано.
Юлия, странный какой-то глюк. Единственное из-за чего это теоретически может быть — какой-то пост существует в базе данных, но просто не отображается на сайте. Но вообще это реально какая-то мистика, первый раз слышу о таком глюке)