В этом посте расскажу и закреплю материал про использование функции wp_list_categories. Не раз к ней обращался, и лучше соберу данные о ней на своем блоге, чтобы не искать потом нигде. Хоть тема и избитая уже, и не раз на многих блогах изложенная, но мне спокойнее будет, когда без лишней суеты посмотрю свой блог, и все станет на свои места.

Итак эта функция имеет такие значения по умолчанию

<?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' => ,
'hierarchical' => true ,
'title_li' => __ ( 'Categories' ),
'show_option_none' => __ ( 'No categories' ),
'number' => NULL ,
'echo' => 1 ,
'depth' => 0 ,
'current_category' => 0 ,
'pad_counts' => 0 ,
'taxonomy' => 'category' ,
'walker' => 'Walker_Category' ); ?> 

А теперь коротко про назначение каждого символа

show_option_all – устанавливает все категории в ссылку, если поставлено не пустое значение. Текстом ссылки станет текст переданный параметру.
orderby – Сортировка списка по определенным критериям. Например по количеству постов в каждой категории или по названию категорий. Значения:

  • ID - сортировка по ID;
  • name - сортировка по алфавитному имени (по умолчанию);
  • slug - сортировка по алфавитному имени ярлыка рубрики(slug);
  • count - по количеству записей в категории;
  • term_group - по группе.

order – порядок сортировки категорий

  • ASC – от меньшего к большему,1,2,3,a,b,c
  • DESC – от большего к меньшему 3,2,1,a,b,

show_last_updated – вывод даты последнего обновления

  • 1 - выводить
  • 0 - нет

style – стиль оформления: список , разделение через br .

  • list - список
  • none - разделение через тег br

show_count – показывает количество записей в категории

  • 1 - показывать
  • 0 - не показывать

hide_empty – скрывать пустые рубрики, где нет записей

  • 0 - показывать
  • 1 - скрывать

use_desc_for_title – использовать описание для атрибута title в ссылке(пример

<a title=описание href).=#></a>
  • 1 - да
  • 0 - нет

child_of – вывод вложений категорий родительской рубрики. Указывается ID рубрики, подкатегории которой должны быть выведены в список
feed – отображение ссылку на wordpress rss (http://wordpressinside.ru/beginners/wordpress-rss/) фид для категорий.
feed_type – тип фида.

  • atom
  • rdf
  • rss
  • rss2 - По умолчанию: 'rss-2'

feed_image – изображение для значка rss. В параметре указываем ссылку на изображение.
exclude – исключение категорий из списка, при этом параметр child_of автоматически отключается. Вводится через запятую ID категорий, которые необходимо исключить.
exclude_tree – исключения целой ветки рубрик.
include –Вывести только указанные категории в список.Вводится через запятую ID категорий, которые необходимо показать.
hierarchical – параметр для отображения подкатегорий.
title_li – заголовок списка рубрик.
number – количество категорий для отображения (если их слишком много). По умолчанию без ограничений
echo – выводит рубрики, по умолчанию равен True.
depth – указывает количество уровней вложенности (подкатегорий) для категорий для вывода.

  • 0 - все уровни вложенности (По умолчанию)
  • - 1 - показать все дочерние категории, но без вложенности li списков. Отменяет параметр hierarchical
  • 1 - показать только категории первого уровня (все виды вложенных категорий не будут показываться
  • n - число - глубина вложенности которую нужно показывать

current_category - добавление стиля "current-cat" к указанной рубрике. По умолчанию, функция wp_list_categories добавляет стиль "current-cat" только при просмотре архива рубрики, ручное же задание параметра current_category позволит выделить средствами css указанную рубрику при просмотре другого содержимого.
pad_counts считает количество записей во вложенных категориях и показывать это число рядом с родительской категорией. Параметр включается автоматически при включенных show_counts и hierarchical.

  • По умолчанию: 0

taxonomy - название таксономии, которую нужно обрабатывать.

  • По умолчанию: 'category'

walker - мне не совсем понятно, но расширение объекта (класса), который предназначен для создание списка категорий. Передаваемый параметру объект - это расширение для класса Walker_Category или Walker.
По умолчанию: 'Walker_Category'

ВНОСИМ ИЗМЕНЕНИЯ в wp_list_categories

Изменить значения функции wp_list_categories вы сможете в файле category-template.php по пути /public_html/wphello.ru/wp-includes/ т.е. в папке, куда устанавливали cms WordPress. На локальном сервере (Денвере) изменения делаете здесь C:\\localhost\ваша папка с wordpress'ом\wp-includes\category-template.php/
Иногда достаточно внести изменения просто в файл вашей темы. В моем шаблоне функция wp_list_categories находилась в файле content-left.php. У вас может находиться примерно в таких файлах как sidebar.php, sidebar-left.php, sidebar-right.php или что то похожее. В моей теме было недостаточно внести здесь изменения (смотрите ниже код) и поэтому я в файле category-template.php прописывал, какие категории исключить из списка.

<li class="widget_categories">
<h6>Categories</h6>
	<ul>
	<?php wp_list_categories('orderby=name&show_count=1&use_desc_for_title=0&title_li=&depth=1&exclude=7,11'); ?>
	</ul>
</li

Примеры использования значений функции wp_list_categories

Сортировка по имени категорий и вывод только тех категорий, которые перечислены в параметре include - категорий ID которых 16, 3, 9 и 5,

<?php wp_list_categories('orderby=name&include=3,5,9,16'); ?> 

Здесь сортировка категории по количеству записей в категории, показывает количество записей для каждой категории, а также исключает категорию с ID 10('exclude=10')

<?php wp_list_categories('orderby=count&show_count=1&exclude=10'); ?> 

В этом примере убираем заголовок списка категорий ('title=')По умолчанию параметр __ ( 'Categories' ), и исключаем из списка рубрики с ID 7 и 11

<?php wp_list_categories('exclude=7,11&title_li='); ?>