Эта функция довольно часто используется в темах WordPress для создания меню. А так же с её помощью очень удобно выводить виджет со списком категорий в сайдбаре. Когда я говорю список, я имею ввиду HTML-список.
Если же вам нужно вывести рубрики к текущей записи или к записи с указанным ID — воспользуйтесь функцией the_category() или get_the_category().
А теперь рассмотрим простейший пример:
wp_list_categories('orderby=name'); |
Этот код выведет список категорий, отсортированных по имени. Вот как это будет выглядеть в HTML, самый обычный список со ссылками:
<li class="categories">Рубрики <ul> <li class="cat-item cat-item-1"> <a href="http://ваш_сайт.com/category/plugins" title="Просмотреть все записи в рубрике &laquo;Плагины&raquo;">Плагины</a> </li> <li class="cat-item cat-item-3"> <a href="http://ваш_сайт.com/category/themes" title="Просмотреть все записи в рубрике &laquo;Темы&raquo;">Темы</a> </li> </ul> </li> |
Теперь добавим несколько параметров
wp_list_categories('orderby=name&style=none&title_li='); |
Оставляем сортировку по имени, но теперь категории будут выводиться не через <li>-список, а просто в виде ссылок (каждая с новой строки), пустой параметр title_li означает, что не нужно добавлять заголовок. Вот, как это выглядит в HTML-коде:
<a href="http://ваш_сайт.com/category/plugins" title="Просмотреть все записи в рубрике &laquo;Плагины&raquo;">Плагины</a><br /> <a href="http://ваш_сайт.com/category/themes" title="Просмотреть все записи в рубрике &laquo;Темы&raquo;">Темы</a><br /> |
Понятно, что чем больше вы засунете параметров в скобки, тем труднее будет во всем этом разобраться в дальнейшем, поэтому есть ещё один вариант записи.
Сначала идёт присвоение значений массиву $args, а потом он просто указывается в скобках.
$args = array( 'orderby' => 'name', 'style' => 'none', 'title_li' => '' ); wp_list_categories($args); |
Теперь посмотрим, какие ещё могут быть параметры у функции:
show_option_all
(строка) Нужно ли добавить ссылку на главную страницу? Можно указать любое значение, например ‘На главную’ — оно и будет анкором для ссылки.
orderby
(строка) Каким образом вы хотите отсортировать категории?
- ID — по id категории (по умолчанию)
- name — по имени
- slug — по ярлыку
- count — по числу записей
order
(строка) Устанавливает порядок сортировки.
- asc — по возрастанию (по умолчанию)
- desc — по убыванию
style
(строка) Стиль вывода списка категорий.
- list — в виде <li>-списка (по умолчанию)
- none — в виде ссылок, разделенных тегом
show_count
(логическое) Указывает в скобках количество постов в каждой из рубрик.
- 1 — да
- 0 — нет (по умолчанию)
hide_empty
(логическое) Нужно ли исключить пустые рубрики (категории) из списка?
- 1 — да (по умолчанию)
- 0 — нет
use_desc_for_title
(логическое) Нужно ли использовать описание рубрик в атрибуте title для ссылок, если оно имеется. (пример: <a title=»Описание_категории» href=»…)
- 1 — да (по умолчанию)
- 0 — нет
child_of
(целое число) Нужно указать id рубрики, подрубрики которой вы хотите вывести.
feed
(строка) Рядом с каждой категорией вставляет ссылку на RSS-ленту. Указанное значение будет анкором этих ссылок.
feed_image
(строка) Аналогичен предыдущему параметру, но только вставляет ссылку с картинкой. В качестве значения укажите адрес картинки.
feed_type
(строка) Тип RSS-ленты.
- atom
- rdf
- rss
- rss2 (по умолчанию)
exclude
(целое число) Перечислите через запятую id категорий, которые вы хотите исключить из списка.
exclude_tree
(целое число) Исключить рубрику и все её подрубрики из списка. Работает только при выключенном hierarchical.
include
(целое число) Укажите через запятую категории (их id), которые вы хотите включить в список.
hierarchical
(логическое) Нужно ли создавать вложенные списки для подкатегорий?
- 1 — да (по умолчанию)
- 0 — нет
title_li
(строка) Заголовок для списка категорий. По умолчанию __( ‘Categories’ ). То есть в русском WordPress это будет переведено в «Рубрики». Оставьте параметр пустым, чтобы избавиться от заголовка.
number
(целое число) Сколько категорий нужно отобразить в списке?
echo
(логическое) Вывод списка категорий или сохранение результата в переменную.
- 1 — да (по умолчанию)
- 0 — нет
depth
(целое число) Количество уровней вложенности списка.
- 0 — неограниченно (по умолчанию)
- -1 — без уровней вложенности, параметр hierarchical игнорируется
- n — любое целое число
taxonomy
(строка) Выберите таксономию для вывода:
- category — рубрики (по умолчанию)
- taxonomy — любая зарегистрированная таксономия
current_category
(целое число) Укажите id категории из списка, для которой вы хотите добавить css-класс «current-cat». По умолчанию он добавляется к той категории, в которой в данный момент находится пользователь.
Пример:
$args = array( 'show_option_all' => 'Перейти на главную', 'orderby' => 'name', 'order' => 'desc', 'style' => 'list', 'show_count' => 1, 'hide_empty' => 0, 'use_desc_for_title' => 1, 'feed' => 'RSS', 'exclude' => '4,3', 'exclude_tree' => 7, 'hierarchical' => 1, 'title_li' => 'Мои рубрики', 'echo' => 1, 'depth' => 0 ); wp_list_categories($args); |
Вот как это будет выглядеть в итоге:
<li class="categories">Мои рубрики <ul> <li> <a href="http://ваш_сайт.com">Перейти на главную</a> </li> <li class="cat-item cat-item-2"> <a href="http://ваш_сайт.com/category/ярлык_рубрики" title="описание_рубрики">название_рубрики</a> (<a href="http://ваш_сайт.com/category/ярлык_рубрики/feed" title="RSS">RSS</a>) (0) </li> <li class="cat-item cat-item-1"> <a href="http://ваш_сайт.com/category/ярлык_рубрики" title="описание_рубрики">название_рубрики</a> (<a href="http://ваш_сайт.com/category/ярлык_рубрики/feed" title="RSS">RSS</a>) (1) <ul class='children'> <li class="cat-item cat-item-5"><a href="http://ваш_сайт.com/category/ярлык_рубрики/ярлык_рубрики" title="описание_рубрики">название_рубрики</a> (<a href="http://ваш_сайт.com/category/ярлык_рубрики/ярлык_рубрики/feed" title="RSS">RSS</a>) (0) </li> </ul> </li> </ul> </li> |
Источник: misha.blog