Для того, чтобы вывести список категорий, или какой-либо другой список терминов таксономии, в wordpress есть функция wp_list_categories(). Эта функция подходит для того, чтобы например создать выпадающее меню категорий в WordPress. Важно, что с помощью этой функции можно выводить не только список категорий, но и любой список терминов таксономии, например список тэгов, для этого в качестве значения параметра «taxonomy» нужно указать «post_tag».
Рассмотрим все параметры функции wp_list_categories():
child_of — В значении этого параметра можно указать Id категории, если вы хотите вывести подкатегории только этой категории. По умолчанию значение 0 (все категории и подкатегории).
current_category — id категории, или массив из id категорий, к которым будет добавлен класс «current-cat» (класс текущей категории).
depth — уровень вложенности для категорий. Например значение 1 означает, что будет выводится только список категорий 1-го уровня вложенности, т. е. категории без подкатегорий, значение 2 означает, что будет выводиться категории с подкатегориями 1-го уровня и т. д. (По умолчанию выводятся подкатегории всех уровней вложенности)
echo — если значение параметра равно «0», то функция будет возвращать полученный список в виде переменной, если «1», то просто выводить его через оператор echo.
exclude — параметр для удаления категорий из списка. Значение параметра — строка из id категорий для удаления, перечисленных через запятые (прим. «2,4,5»).
exclude_tree — параметр для удаления категорий из списка вместе с подкатегориями. Значение параметра — строка из id категорий, перечисленных через запятые (прим. «2,4,5»).
feed — добавляет к каждой категории ссылку на ее RSS ленту. В качестве значения параметра передается текст (анкор) ссылки.
feed_image — добавляет к каждой категории ссылку на ее RSS ленту, только вместо названия ссылки будет отображаться ее картинка. Значение параметра — URL адрес картинки для RSS ленты.
feed_type — тип RSS-ленты (atom, rdf, rss, rss2 (по умолчанию))
hide_empty — скрывать категории, в которых нет записей (1 — скрывать, 0 — выводить, по умолчанию скрывать)
hide_title_if_empty — скрывать заголовок списка если список пуст (true — скрывать, false — вывести)
hierarchical — создавать список с учетом иерархии (подкатегории формируются в виде вложенных списков), true — да, false — нет
order — порядок сортировки категорий. «ASC» — сортировка элементов в прямом порядке (по-умолчанию), «DESC» — сортировка категорий в обратном порядке.
orderby — поле, по которому будет производиться сортировка элементов списка. Сортировка может быть по имени (значение «name»), id записи («ID»), по slug (значение «slug»), и по количеству записей категории (значение «count»).
separator — разделитель элементов списка. По умолчанию ‘<br />’.
show_option_all — добавляет элемент списка категорий, который будет указывать на главную страницу сайта (страницу со всеми записями). Значение параметра — название элемента. По умолчанию отсутствует.
show_option_none — Текст, который будет показан при отсутствии категорий в списке. По умолчанию __( ‘No categories’ ).
show_count — показывать количество записей у каждой категории (0 — не показывать, 1 — показывать).
style — Тип списка для категорий. Тут всего 2 значения: «list» — элементы выводятся в виде html списка ul, либо «none» — элементы выводятся в виде ссылок <a>.
taxonomy — id таксономии, элементы которой будут выведены функцией wp_list_categories(). Для того чтобы вывести с помощью этой функции список тэгов например, у этого параметра нужно указать значение «post_tag».
title_li — Заголовок списка. По умолчанию выводит __( ‘Categories’ ) — что в переводе означает «Рубрики». Чтобы заголовок не отображался, укажите значение «».
use_desc_for_title — вставляет атрибут title у ссылок. 1 — вставлять, 0 — нет. По умолчанию 1.
Теперь посмотрим как это работает на практике:
Вывод всех подкатегорий категории с ID = 10 и с заголовком «Администрирование UNIX».
$args = array( 'child_of' => 10, 'title_li' => 'Администрирование UNIX', ); wp_list_categories( $args );
Вывод всех категорий без подкатегорий с сортировкой по имени
$args = array( 'depth' => 1, 'orderby' => 'name', ); wp_list_categories($args);
Вывод всех категорий, кроме категорий с id 4, 5 и 34, с сортировкой по имени и без учета иерархии:
$args = array( 'exclude' => '4,5,34', 'orderby' => 'name', 'hierarchical' => false, ); wp_list_categories($args);
Вывод всех категорий с указанием количества записей у каждой категории, отображением пустых категорий и с сортировкой по имени в обратном порядке:
$args = array( 'show_count' => 1, 'order' => 'DESC', 'orderby' => 'name', 'hide_empty' => 0, ); wp_list_categories($args);
Вывод списка тэгов, т. е. всех терминов таксономии с названием post_tag с сортировкой по имени:
$args = array( 'taxonomy' => 'post_tag', 'orderby' => 'name', ); wp_list_categories($args);
Статьи по теме: