Функция wp_list_categories()
в WordPress позволяет выводить или получать HTML-список категорий на сайте. Это мощный инструмент для организации контента и улучшения навигации. В этой статье мы рассмотрим параметры функции, примеры использования и различные сценарии, в которых она может быть полезна.
wp_list_categories( array|string $args = '' ): void|string|false
Параметры
- $args (array|string) — Необязательный. Массив или строка дополнительных аргументов, используемых для настройки вывода. См.
get_categories()
,get_terms()
иWP_Term_Query::__construct()
для информации о других доступных аргументах.
Параметры $args
- child_of (число)
Показывает дочерние категории. В параметре указывается ID родительской категории, вложенные категории которой нужно показать. - current_category (строка/массив)
ID категории или массив из ID, к которым нужно добавить классcurrent-cat
(class=»current-cat»). По умолчанию:''
. - depth (число)
Контролирует глубину вложенности категорий, которые будут показаны.0
— все уровни вложенности (по умолчанию);-1
— показать все дочерние категории, но без вложенности li списков;1
— показать только категории первого уровня;n
— число, глубина вложенности, которую нужно показывать.
- echo (логический)
Выводить на экран или возвращать для обработки.1 (true)
— выводить на экран;0 (false)
— возвратить данные.
По умолчанию:true
.
- exclude (строка)
Исключить категории из списка, указывая ID категорий через запятую.
По умолчанию:''
. - exclude_tree (строка)
Исключить дерево категорий из списка, указывая ID категорий через запятую.
По умолчанию:''
. - include (строка/массив)
Вывести списком только указанные категории.
По умолчанию:''
. - hide_empty (логический)
Скрывать ли категории без записей?0 (false)
— показывать пустые;1 (true)
— не показывать пустые.
По умолчанию:1
.
- hide_title_if_empty (логический)
Нужно ли прятать$title_li
, если в списке нет элементов.
По умолчанию:false
. - hierarchical (логический)
Показывать категории как дерево.1 (true)
— да, древовидный тип отображения;0 (false)
— нет, сплошным типом.
По умолчанию:true
.
- order (строка)
Направление сортировки:ASC
— по порядку;DESC
— в обратном порядке.
По умолчанию:'ASC'
.
- orderby (строка)
Сортировка списка по определенным критериям. Доступны следующие критерии:ID
— по ID;name
— по названию (по умолчанию);slug
— по алт. имени (slug);count
— по количеству записей в категории;term_group
— по группе.
По умолчанию:'name'
.
- separator (строка)
Разделитель между элементами.
По умолчанию:'<br />'
. - show_count (логический)
Показывать/нет количество записей в категории.1 (true)
— показывать количество записей;0 (false)
— не показывать.
- show_option_all (строка)
Текст для отображения всех категорий.
По умолчанию:''
. - show_option_none (строка)
Если категории не найдены, показывать этот текст.
По умолчанию:'Нет рубрик'
. - style (строка)
Стиль вывода списка:list
— выводить в теге<li>
;none
— только ссылки на категории разделенные тегом<br>
.
По умолчанию:'list'
.
- taxonomy (строка)
Название таксономии для обработки.
По умолчанию:'category'
. - title_li (строка)
Установить заголовок списка.
По умолчанию:'Категории'
. - use_desc_for_title (логический)
Вставлять ли описание категории в атрибут title у ссылки.
По умолчанию:false
. - number (число)
Установить максимальное количество отображаемых категорий.
По умолчанию:''
. - pad_counts (логический)
Считать общее количество постов во вложенных категориях.
По умолчанию:0 (false)
. - feed (логический)
Показать ли ссылку на RSS фид категории.
По умолчанию:''
. - feed_type (строка)
Тип фида.
По умолчанию:'rss-2'
. - feed_image (строка)
Показать ли ссылку-картинку на RSS фид категории.
По умолчанию:''
. - walker (объект)
Расширение объекта для создания списка категорий.
По умолчанию:'Walker_Category'
.
Возвращаемое значение
- void|string|false — Возвращает
null
, еслиecho
равно 1, HTML-список категорий, еслиecho
равно 0. Вернетfalse
, если таксономия не существует.
Базовый пример
Для простого вывода списка категорий:
<ul>
<?php wp_list_categories(); ?>
</ul>
Этот код создаст стандартный список категорий с заголовком «Categories».
Пример 1: Сортировка по алфавиту
Чтобы отсортировать категории по алфавиту и включить только категории с определенными ID, используйте следующий код:
<ul>
<?php wp_list_categories('orderby=name&include=3,5,9,16'); ?>
</ul>
Пример 2: Показать количество постов
Следующий пример сортирует категории по имени, показывает количество записей и исключает категорию с ID 10:
<ul>
<?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>
</ul>
Пример 3: Вывод только указанных категорий
Этот пример выводит категории с ID 9, 5 и 23 и изменяет заголовок списка:
<ul>
<?php wp_list_categories('include=5,9,23&title_li=<h2>' . __('Poetry') . '</h2>'); ?>
</ul>
Пример 4: Показать только дочерние категории
Чтобы вывести только дочерние категории определенной категории, используйте следующий код:
<ul>
<?php wp_list_categories('orderby=id&show_count=1&child_of=8'); ?>
</ul>
Пример 5: Удаление скобок из количества постов
Чтобы удалить скобки, в которые обрамляется количество постов:
<?php
$cats = wp_list_categories('echo=0&show_count=1&title_li=<h2>Категории</h2>');
$cats = str_replace(['(', ')'], '', $cats);
echo $cats;
?>
Пример 6: Показать ссылки на RSS-ленты
Для отображения категорий с ссылками на RSS-ленты:
<ul>
<?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?>
</ul>
Пример 7: Использование пользовательских таксономий
С версии 3.0 функция позволяет выводить списки пользовательских таксономий:
<?php
$args = array(
'taxonomy' => 'genre',
'orderby' => 'name',
'show_count' => 0,
'hierarchical' => true,
'title_li' => ''
);
?>
<ul>
<?php wp_list_categories($args); ?>
</ul>
Пример 8: Стилизация списка
Функция wp_list_categories()
автоматически создает CSS-классы для элементов списка. Вы можете использовать их для стилизации:
li.categories { ... } /* общий селектор */
li.cat-item { ... }
li.current-cat { ... }
Пример 9: Убрать заголовок списка
Чтобы убрать заголовок списка категорий, установите параметр title_li
в пустую строку:
<ul>
<?php wp_list_categories('exclude=4,7&title_li='); ?>
</ul>
Заключение
Функция wp_list_categories()
предоставляет гибкий способ вывода категорий на сайте WordPress. С помощью различных параметров можно настроить вывод под конкретные требования вашего проекта. Вы можете комбинировать параметры, чтобы получить именно тот результат, который вам нужен.