Эта функция довольно часто используется в темах 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="Просмотреть все записи в рубрике «Плагины»">Плагины</a> </li> <li class="cat-item cat-item-3"> <a href="http://ваш_сайт.com/category/themes" title="Просмотреть все записи в рубрике «Темы»">Темы</a> </li> </ul> </li>
Теперь добавим несколько параметров
wp_list_categories('orderby=name&style=none&title_li=');
Оставляем сортировку по имени, но теперь категории будут выводиться не через <li>-список, а просто в виде ссылок (каждая с новой строки), пустой параметр title_li означает, что не нужно добавлять заголовок. Вот, как это выглядит в HTML-коде:
<a href="http://ваш_сайт.com/category/plugins" title="Просмотреть все записи в рубрике «Плагины»">Плагины</a><br /> <a href="http://ваш_сайт.com/category/themes" title="Просмотреть все записи в рубрике «Темы»">Темы</a><br />
Понятно, что чем больше вы засунете параметров в скобки, тем труднее будет во всем этом разобраться в дальнейшем, поэтому есть ещё один вариант записи.
Сначала идёт присвоение значений массиву $args, а потом он просто указывается в скобках.
$args = array( 'orderby' => 'name', 'style' => 'none', 'title_li' => '' ); wp_list_categories($args);
Теперь посмотрим, какие ещё могут быть параметры у функции:
show_option_all
(строка) Нужно ли добавить ссылку на главную страницу? Можно указать любое значение, например ‘На главную’ — оно и будет анкором для ссылки.
orderby
(строка) Каким образом вы хотите отсортировать категории?
order
(строка) Устанавливает порядок сортировки.
style
(строка) Стиль вывода списка категорий.
show_count
(логическое) Указывает в скобках количество постов в каждой из рубрик.
hide_empty
(логическое) Нужно ли исключить пустые рубрики (категории) из списка?
use_desc_for_title
(логическое) Нужно ли использовать описание рубрик в атрибуте title для ссылок, если оно имеется. (пример: <a title=”Описание_категории” href=”…)
child_of
(целое число) Нужно указать id рубрики, подрубрики которой вы хотите вывести.
feed
(строка) Рядом с каждой категорией вставляет ссылку на RSS-ленту. Указанное значение будет анкором этих ссылок.
feed_image
(строка) Аналогичен предыдущему параметру, но только вставляет ссылку с картинкой. В качестве значения укажите адрес картинки.
feed_type
(строка) Тип RSS-ленты.
exclude
(целое число) Перечислите через запятую id категорий, которые вы хотите исключить из списка.
exclude_tree
(целое число) Исключить рубрику и все её подрубрики из списка. Работает только при выключенном hierarchical.
include
(целое число) Укажите через запятую категории (их id), которые вы хотите включить в список.
hierarchical
(логическое) Нужно ли создавать вложенные списки для подкатегорий?
title_li
(строка) Заголовок для списка категорий. По умолчанию __( ‘Categories’ ). То есть в русском WordPress это будет переведено в «Рубрики». Оставьте параметр пустым, чтобы избавиться от заголовка.
number
(целое число) Сколько категорий нужно отобразить в списке?
echo
(логическое) Вывод списка категорий или сохранение результата в переменную.
depth
(целое число) Количество уровней вложенности списка.
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>