Теги шаблонов WordPress - Теги категорий(продолжение).

wp_list_categories

Тег wp_list_categories выводит список категорий в виде ссылок. При нажатии на ссылку все сообщения из этой категории выводятся на странице категории. Тег wp_list_categories заменил с версии WordPress 2.1, теги list_cats() и wp_list_cats().

Параметры:

show_option_all
(string) A non-blank values causes the display of a link to all categories if the style is set to list. The default value is not to display a link to all.
orderby
(string) Сортирует категории в алфавитном порядке, по имени категории, по ID категории, или по количеству сообщений в категории. По умолчанию сортируются по имени категории. Значения:
  • ID
  • name – По умолчанию
  • count
order
(string) Порядок сортировки для категорий(по возрастанию или убыванию). По умолчанию *по возрастанию*. Значения:
  • ASC – По умолчанию
  • DESC
show_last_updated
(boolean) Выводит(TRUE) или не выводит(FALSE) время последнего добавленного сообщения в категории. По умолчанию FALSE.
  • 1 (true)
  • 0 (false) – По умолчанию
style
(string) Стиль отображения списка категорий. Значение list выводит категории как элементы списка, а none выводит без какого-либо стиля(элементы списка отделены тегом <br>). По умолчанию list. Значения: - list – По умолчанию. - none
show_count
(boolean) Переключает отображение количества сообщений в каждой из категорий. По умолчанию false (не показывает количество сообщений). Значения:
  • 1 (true)
  • 0 (false) – По умолчанию
hide_empty
(boolean) Переключает отображение категорий без сообщений. По умолчанию *true* (скрывает пустые категории). Значения:
  • 1 (true) – По умолчанию
  • 0 (false)
use_desc_for_title
(boolean) Указывает вставлять ли описание категорий в атрибут title создаваемых ссылок. По умолчанию true (описание категории вставляется). Значения:
  • 1 (true) – По умолчанию
  • 0 (false)
child_of
(integer) Показывает только те категории которые являются потомками той ID которой указан в этом параметре. Нет значения по умолчанию. если этот параметр используется, то параметр hide_empty устанавливается в false.
feed (string)
Текст для ссылки на RSS2 ленту для каждой категории. По умолчанию ни текст ни лента не показывается.
feed_image
(string) Устанавливает путь к картинке(обычно иконка rss ленты) которая будет работать как сылка на rss2 ленту для каждой категории. Этот параметр переписывает параметр feed. Не имеет значения по умолчанию.
exclude
(string) Исключает одну или более категорий из результатов. Этот параметр принимает значения ID категорий разделенных запятой в возрастающем порядке. Смотрите [пример](#Include_or_Exclude_Categories "Template Tags/wp list categories"). Параметр child_of автоматически отменяется.
include
(string) Выводит только выбранные категории. Параметр принимает значения ID категорий разделенных запятой в возрастающем порядке. Смотрите [пример](#Include_or_Exclude_Categories "Template Tags/wp list categories").
hierarchical
(boolean) Устанавливает показывать ли список иерархически. Значение по умолчанию true. Значения:
  • 1 (true) – По умолчанию.
  • 0 (false)
title_li
(string) Задает заголовок и стиль для внешнего элемента списка. По умолчанию “_Categories”. Если значение пустое то элемент внешнего списка не показывается. Смотрите [пример](#Display_or_Hide_the_List_Heading).
number
(integer) Устанавливает количество категорий для вывода. Значение присваивается в SQL LIMIT. По умолчанию LIMIT не присваивается.
echo
(boolean) Показывает результат или возвращает его для сохранения в переменной. По умолчанию true (показывает категории). Значения:
  • 1 (true) – По умолчанию
  • 0 (false)
depth
(integer) Этот параметр устанавливает количество уровней иерархии категорий будет добавлено в список. По умолчанию 0 (выводит все категории и их потомков). Параметр был добавлен в версии WordPress 2.5.
  • 0 – Все категории и их потомки (По умолчанию).
  • -1 – Все категории показываются в виде плоского(без отступов) списка(заменяет иерархический).
  • 1 – Не показывает потомков
  • n – Значение n (любое число) для глубины вывода категорий.

Значения по умолчанию

$defaults = 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_image' => '', 'exclude' => '', 'hierarchical' => true, 'title_li' => __('Categories'), 'echo' => 1, 'depth' => 0 );

При использовании по умолчанию, выводит/возвращает:

wp_list_categories();

Примеры:

Исключение и включение категорий.

Для сортировки категорий в алфавитном порядке и включением категорий только с ID 16, 3, 9 и 5, вы можете написать следующий код:

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

Следующий пример показывает категории отсортированные по имени, выводит количество сообщений для каждой категории, и исключает категорию с ID 10 из списка:

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

Показать/спрятать заголовок списка.

Параметр title_li устанавливает показывать или непоказывать заголовок списка генерируемого тегом wp_list_categories. По умолчанию '(__('Categories')', то есть в заголовке показывается слово “Categories”(Рубрики в русской версии). Если этому апараметру присвоить ноль или пустое значение, то заголовок отображаться не будет.Следующий пример исключает категории с ID 4 и 7 и скрывает заголовок:

<ul> <?php wp_list_categories('exclude=4,7&title_li='); ?> </ul>

В следующем примере только категории с ID 9, 5, и 23 включены в список и текст заголовка сменен на слово “Поэзия”, заключенный в тег <h2>:

<ul> <?php wp_list_categories('include=5,9,23&title_li=<h2>' . __('Поэзия') . '</h2>' ); ?> </ul>

Вывод только потомков категорий.

В этом примере код создает список категорий отсортированные по ID, являющиеся только потомками категории с ID 8; также выводится количество сообщений в категории и скрывает описание категории из аттрибута title для созданных ссылок. Замечание: Если в родительской категории нет сообщений, то она не будет отображаться.

<ul> <?php wp_list_categories('orderby=id&show_count=1 &use_desc_for_title=0&child_of=8'); ?> </ul>

Вывод категорий с ссылками на rss ленту.

Пример создает список категорий отсортированный по имени, показывается кол-во сообщений в категории, и показывается ссылка на RSS ленту для каждой категории.

<ul> <?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?> </ul>

Для замены ссылки на rss ленту на иконку ленты, вы можете написать:

<ul> <?php wp_list_categories('orderby=name&show_count=1 &feed_image=/images/rss.gif'); ?> </ul>

Оформление списка категорий.

По умолчанию, wp_list_categories() создает неупорядоченный список(ul) с одним элементом списка(li) озаглавленным как “Категории”, а в нем собственно список категорий.

Вы можете убрать заголовок путем присваивания параметру title_li пустого значения. Вы должны будете сами обернуть вывод в упорядоченный(ol) или неупорядоченный(ul) список. Если вы нехотите вообще выводить категории в виде списка, то установите параметр style в none.

Если вы не обнуляли title_li, то ему присваивается HTML класс categories. Всем категориям присваивается класс cat-item и cat-item-ID(где ID -> ID категории), а текущей категории еще и класс current-cat.

<ul> <li class="cat-item cat-item-1 current-cat"> [Вы сейчас в этой категории] </li> <li class="cat-item cat-item-2"> [Другая категория] </li> </ul>

Вы можете оформить элементы списка с помощью CSS селектора:

.current-cat { ... }

list_cats

С версии WordPress 2.1 заменена на wp_list_categories.

wp_list_cats

С версии WordPress 2.1 заменена на wp_list_categories.

in_category

Возвращает true если текущее сообщение находится в определенной категории.

Параметры:

category_id
(integer) ID категории которую вы хотите проверить. Параметр может быть как целым числом так и строкой: - in_category(5) - in_category('5')

Пример:

<?php if ( in_category('category_id') ): ?>
    // PHP/HTML код
<?php endif; ?>

Выводит <span class="good-cat-5">Это хорошая категория</span> в каждом сообщении категории с ID 5, в других категориях выводит <span class="bad-cat">Это плохая категория</span>.

<?php if ( in_category(5) ) { echo '<span class="good-cat-5">Это хорошая категория</span>'; } else { echo '<span class="bad-cat">Это плохая категория</span>'; } ?>

Так же нужно заметить, что если например есть категория "Фрукты" с ID ->5, а в ней подкатегория "Бананы"=ID ->12, то in_category(5) при просмотре статьи про бананы вернет false. В этом случае вы можете использовать ||(логическое И) или &&(логическое ИЛИ).

<?php if ( in_category(5) || in_category (12) || in_category (13)) { echo '<span class="fruits">Сообщение про фрукты</span>'; } else { echo '<span class="bad-cat">Сообщение не про фрукты</span>'; } ?>

get_category_parents

Возвращает список родительских категорий включающих эту, отсортированных по ID.

Параметры:

category
(integer) ID категории для которой нужно вернуть список родителей. По умолчанию текущая категория.
display link
(boolean) Создает ссылку для каждой категории в списке.
separator
(string) Как разделять элементы в списке.
nice name
(boolean) Возвращение короткого имени для категорий или нет (по умолчанию FALSE).

Пример:

Возвращает родительские категории в виде ссылок разделенные символом '»'

<?php echo(get_category_parents($cat, TRUE, ' » ')); ?>

Который выведет:

Internet » Blogging » WordPress »

get_the_category

Возвращает массив объектов, один объект, для каждой категории назначеной сообщению. Используется внутри Цикла.

Поля:

cat_ID
id категории(так же сохраняется как 'term_id')
cat_name
имя категории(так же сохраняется как 'name')
category_nicename
строка генерируемая из имени категории(так же сохраняется как 'slug')
category_description
описание категории(также сохраняется как 'description')
category_parent
id категории родителя текущей категории. '0' = без родителей.(так же сохраняется как 'parent')
category_count
число использований этой категории(так же сохраняется как 'count')

Пример:

Выводит только имя первой категориию

<?php $category = get_the_category(); echo $category[0]->cat_name; ?>

(Вывод первого элемента из массива([0]) $category.)

get_category_link

Выводит правильный url для заданного ID категории.

При указании несуществующего ID возвратит ссылку на предыдущий уровень.

** Параметры:**

$category_id
(*integer*) (*обязательный*) ID категории на которую возвратится ссылка.
Значения по умолчанию нет.