Как программно вывести список категорий и терминов таксономии в WordPress

Для того, чтобы вывести список категорий, или какой-либо другой список терминов таксономии, в 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);

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *