wp_list_categories

Эта функция определена в файле wp-includes/category-template.php (используется вместо устаревших функций list_cats и wp_list_cats).

Выводит список категорий (рубрик) в виде ссылок. (Щелчок на ссылке категории открывает страницу с записями в данной категории, см. Category TemplateTemplate Hierarchy rules).

<?php wp_list_categories( $args ); ?>

где по умолчанию

<?php $args = array(
'show_option_all'    => ,
'orderby'            => 'name',
'order'              => 'ASC',
'show_last_update'   => 0,
'style'              => 'list',
'show_count'         => 0,
'hide_empty'         => 1,
'use_desc_for_title' => 1,
'child_of'           => 0,
'feed'               => ,
'feed_type'          => ,
'feed_image'         => ,
'exclude'            => ,
'exclude_tree'       => ,
'include'            => ,
'current_category'   => 0,
'hierarchical'       => true,
'title_li'           => __( 'Categories' ),
'number'             => NULL,
'echo'               => 1,
'depth'              => 0 ); ?>

Аргументы можно разделять символом &:

<?php wp_list_categories('аргумент1=значение&аргумент2=значение&...'); ?>

Описание параметров

параметр значение (по умолчанию)
show_option_all string
непустое значение – не показывать
пустое - показывать ссылку на все категории
orderby string
сортировка категорий
ID  - по id
name - по имени
slug - по адресу
count – по числу записей
term_group  -
order string
порядок сортировки:
ASC - в алфавитном порядке (в порядке возрастания)
DESC
show_last_updated boolean
1 (true) – показывать время последнего обновления
0 (false) - не показывать
style string
в виде неупорядоченного списка:
list  - как элементы списка
none – элементы разделяются тегом <br>
***
Для задания стиля можно использовать CSS-селекторы списка:
li.categories /* внешний элемент */
li.cat-item /* элемент */
li.cat-item-7 /* для ID=7 */
li.current-cat /* текущий элемент */
li.current-cat-parent /* родитель текущего элемента */
ul.children /* потомок */
show_count boolean
0 (false) – не показывать количество записей
1 (true) – показывать
hide_empty boolean
0 (false) – показывать
1 (true) – не показывать категории без записей
use_desc_for_title boolean
0 (false) - не показывать
1 (true) –  показывать описание категории как атрибут ссылки title
child_of integer
показывать только категории, дочерние для категории с заданным id
feed string
показывать ссылку на фид (rss-2) каждой категории с заданным текстом>
feed_type string
тип фида
feed_image string
URI для рисунка фида-ссылки на фид (rss-2) (переопределяет feed)
exclude string
исключение категорий с id, указанными через запятую в порядке возрастания. child_of автоматически отключается
exclude_tree string
исключение дерева категорий
include string
включение категорий с id, указанными через запятую в порядке возрастания
current_category integer
выделение текущей категории (CSS-класс ' current-cat') (обычно текущая категория выделяется на страницах архивов категорий)
hierarchical boolean
подкатегории в виде иерархии
1 (true) – внутренний список ниже родительской категории с отступами
0 (false) – на одной строке
title_li string
заголовок списка категорий (Categories):
wp_list_categories('title_li=<h2>' . __('Разделы') . '</h2>' );
Без заголовка:
wp_list_categories('title_li=' );
number integer
количество отображаемых категорий (определяет SQL LIMIT), по умолчанию ограничения нет
echo boolean
1 (true) – выводить категории
0 (false) – сохранять в переменную
depth integer
показывать
0  – все категории и все дочерние категории
-1 – все категории без отступов
1 – только категории верхнего уровня
n – ограничение уровня вложенности категорий (переопределяет hierarchical )

Примеры

Количество записей в категории без скобок

Когда show_count=1, после имени каждой категории в скобках приводится количество записей в категории. Удалить скобки можно так:

<?php
$variable = wp_list_categories('show_count=1&title_li=<h2>Все разделы</h2>');
$variable = str_replace(array('(',')'), '', $variable);
echo $variable;
?>

Только ссылки на категории верхнего уровня

Если записей и подкатегорий очень много, можно показывать только категории верхнего уровня. Для этого нужно отменить отображение дочерних категорий(depth=1) и не переопределять отображение количества записей, применяемое по умолчанию(show_count=0):

<?php wp_list_categories('depth=1&title_li=<h2>Главные разделы</h2>'); ?>

Если заголовок списка категорий отображается отдельно как html-элемент, его нужно не показывать как элемент списка, т.е. задать пустой заголовок (title_li=):

<h2>Главные разделы</h2>
<?php wp_list_categories('depth=1&title_li='); ?>

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

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