wp_list_categories() — вывод категорий в виде списка

Эта функция довольно часто используется в темах 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="Просмотреть все записи в рубрике &amp;laquo;Плагины&amp;raquo;">Плагины</a> 
    </li> 
    <li class="cat-item cat-item-3">
        <a href="http://ваш_сайт.com/category/themes" title="Просмотреть все записи в рубрике &amp;laquo;Темы&amp;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="Просмотреть все записи в рубрике &amp;laquo;Плагины&amp;raquo;">Плагины</a><br />
<a href="http://ваш_сайт.com/category/themes" title="Просмотреть все записи в рубрике &amp;laquo;Темы&amp;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

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: