Вывод списка рубрик с описанием

Всем привет! Сегодня я расскажу, как вывести список рубрик с описанием, используя стандартные возможности WordPress, то есть, без плагина. Приведенный пример можно будет использовать, например, при создании сайдбара для темы, или страниц различных каталогов.

Вывод списка рубрик будет ощуществляться при помощи функции get_categories.

В данном примере я буду работать со следующими параметрами функции

  • parent – Если здесь установить 0, то будут выведены только родительские рубрики верхнего уровня. Если оставить пустым, то выведутся все рубрики.
  • hide_empty – скрывать или нет рубрики, в которых нет постов. По-умолчанию, скрывать (1).
  • exclude – ID рубрик, которые не надо включать в список. Если необходимо отображать только некоторые рубрики, то замените этот параметр на include. По-умолчанию, пустое значение (отображать все рубрики)
  • number – количество рубрик, которые будут выводиться. Значение 0 означает выводить все рубрики.
  • taxonomy – Таксономия, которую будем выводить. По-умолчанию, имеет значение category. Если вы хотите вывести список меток, то используйте значение post_tag.
  • pad_counts – Показывать или нет количество постов в рубрике. Значение false (не показывать) по-умолчанию.

Об остальных параметрах функции можно почитать здесь.

За вывод описания рубрик отвечает функция category_description.

А теперь давайте создадим список рубрик с описанием. Этот код нужно вставить в то место шаблона, где вы хотите вывести рубрики:

В этом примере выводятся только родительские рубрики, даже если в них не содержатся записи, за исключением рубрики с ID=21, и возле каждой рубрики отображается количество записей в ней. Ниже рубрики выводится текст ее описания.

Обратите внимание, что для того, чтобы приведенный код работал, нужно, чтобы у вас было заполнено описание рубрики на странице редактирования рубрик:

Отображение описания рубрики в редакторе
Отображение описания рубрики в редакторе

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




30 комментариев к “Вывод списка рубрик с описанием”

  1. Дмитрий

    Если мы хотим вывести только подкатегории, то добавляем ‘child_of’ => ’10’
    где 10 – номер родительской категории

    Ответить
    • Максим Н

      Низкий тебе поклон!!!! СПАСИБО!!!!!!!!!!!
      Я 2 дня ломал голову с этим ‘child_of’ => ’ ’ …..

      СПАСИБО !!!!!!!!!!!!!!!!!

      Ответить
  2. Kerk

    Добрый день!

    Просьба подсказать, каким плагином можно реализовать вот такой функционал.

    В блоге – в колонке слева – располагается меню, представленное списком категорий. При нажатии на категорию, в центральной части выводится список подкатегорий, входящих именно в эту категорию. Когда нажимаешь на подкатегорию в этом списке, открывается либо перечень подкатегорий нижнеего уровня, либо уже список постов, опубликованных в этой подкатегории.

    Как такое сделать, не трогая код, за счет плагинов? Это нужно потому, что тема оформления сайта постоянно редактируется и дорабатывается, и если еще каждый раз в коде темы оформления копаться…

    Ответить
    • Валерий

      Kerk, плагин называется “jQuery Categories List Widget”. Только по умолчанию он открывает список постов, расположенных в этой категории, что как-то не по русски. Я слегка изменил код, чтобы при клике на категорию раскрывался список подкатегорий, что более логично. Не знаю, отобразится ли он. Вот код, который нужно заменить в плагине, на тот который там есть начиная с комментария по следующий комментарий:

      Классы пропишите свои в style.css. Я раскрасил категории, назначил разные цвета названию категорий, количеству, и т.д. Если не будите назначать классы, то меню категорий наследует все красивости из темы оформления по умолчанию

      Ответить
  3. Валерий

    Спасибо, добрая девочка, за подсказку. А то я никак не мог понять, почему в плагине “jQuery Categories List Widget” родительские категории не выводят список всех постов подкатегории. Мутил и так и сяк, да все не работало. А оказывается всего-то и нужно было заменить в ‘pad_counts’ => false на true!!! :)))

    Ответить
  4. Сергей

    Подскажите пожалуйста.
    Как вывести рубрики вот в таком варианте http://codepen.io/Thibaut/pen/eCIkr (не реклама), а то почему то у меня не получается как у новичка.
    За ранее благодарен за ответ.

    Ответить
  5. Максим

    Ирина, спасибо за статью все получилось!
    Правда, пришлось додумывать самому некоторые моменты. Например, если бы у меня не было никакого представления о php-коде и я оказался на месте новичка, то сомневаюсь, что мне бы удалось повторить Ваш код на сайте. Код, представленный в вашей статье не заключен в теги и при вставке в необходимое место отображается как набор букв и символов. Я понимаю, что это все лежит на поверхности и все очевидно, но новичок бы столкнулся с определенными трудностями.

    Ответить
    • Максим

      Теги не отображенные в комментарии:

      Ответить
    • Ирина

      Спасибо за комментарий. Мне кажется, что “совсем новичкам”, не имеющим никакого представления о коде, лучше самостоятельно шаблон не трогать, а то мало ли что испортить можно…

      Ответить
  6. Алла

    Ирина, может Вы мне сможете помочь. Дело в том, что использую тег more, но посты в рубриках выводятся полностью (на главной все в порядке). Как можно это изменить? Дело в том, что я хочу создать меню из рубрик и получится, что все статьи выведутся полностью. Сразу скажу, я новичок. Спасибо

    Ответить
  7. Vampir

    А как ссылку на категории вывести?

    Ответить
    • Анатолий

      Благодарю за хорошую статью, но вот с сылочкой для перехода в категорию действительно были проблемы, поэтому пришлось самому разобраться и сделать.
      Вот что я сделал:
      в цикел foreach прописал переменную и присвоил ей значение id категории (строка ниже)

      Затем в самой ссылочке (а именно в этом месте)

      прописал следующее

      т.е. вместо знака # вставил

      что удивительно данный способ работает если мы в админке изменим настройку ЧПУ

      Ответить
  8. Андрей

    Подскажите, как закрыть от поиска одну из рубрик, заранее спасибо за ответ.

    Ответить
  9. Виталий

    Добрый день! Подскажите есть ли возможность сделать тут навигацию.Например 6 категорий на одной странице,6 на второй.

    Ответить
  10. Юрий

    Спасибо !!!!!!!

    Ответить
  11. Юрий

    День добрый! Почему то кликая на рубрики нет перехода на записи.

    Ответить
  12. Михаил

    Подскажите как можно вывести в сайдбаре выпадающий список рубрик товара.
    Спасибо.

    Ответить
  13. Наташа

    Действительно с ссылкой на Рубрику были проблемы. 2 дня искала решение. И помог совет Анатолия. Вот что у меня получилось и заработало:

    Может кому поможет. Особенно для новичков.

    Ответить
  14. seoonly.ru

    Спасибо, сделал по инструкции

    Ответить
  15. Андрей

    А может кто-то дать полностью код для вывода рубрик с возможность перехода по ним. И еще вопрос, а как можно сделать так, что бы рубрики выводились не списком, а столбцами, как вот здесь выводятся название городов: http://100dorog.ru/guide/countries/au/
    Заранее спасибо!

    Ответить
  16. Андрей

    Ирина, можете все таки подсказать правильно рабочий код вывода рубрик, что бы при нажатие на рубрику загружалась страница этой рубрики. Сегодня целый день убил, что бы понять как изменить ваш код, используя советы Наташи и Анатолия. Заранее спасибо за ответ!

    Ответить
  17. Андрей

    А как вывести список рубрик на главной странице в виде плиток с картинками?

    Ответить
    • Александр

      Посмотрите на мой сайт в сообщении ниже, если такую систему в виде плиток, то могу скинуть код. Сам делал все.

      Ответить
  18. Александр

    Ирина, а как можно сделать пагинацию на выводимые категории. Я их вывожу на отдельную страницу в ввиде плиток и мне нужно сделать регулируемое количество выводимых категорий на странице. вот как оно выглядит у меня – skz.dobr.com.ua/category/nashe-proizvodstvo/

    Ответить
  19. Андрей

    А как вывести рубрики в строго заданной последовательности? К примеру, прописав ID: 16, 39, 7, 10, и в этой последовательности и выводились. Можно так сделать?

    Ответить
  20. Цифровой

    Я сейчас все поломаю вокруг себя. Как запихнуть рубрики в бутстраповский аккордеон???

    Ответить

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