Теги шаблонов WordPress - Теги категорий(продолжение).
- wp_list_categories
- list_cats
- wp_list_cats
- in_category
- get_category_parents
- get_the_category
- get_category_link
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 );
При использовании по умолчанию, выводит/возвращает:
- Без ссылки “Все категории”.
- Сортирует список категорий по имени, по возрастанию.
- Не показывает дату последнего обновления(дату последнего сообщения в каждой из категорий).
- Выводит в неупорядоченном списке.
- Не показывает количество сообщений
- Показывает только категории с сообщениями.
- Устанавливает атрибут title равный описанию категории.
- Не устанавливает никаких значении параметру child_of.
- RSS лента и рисунок ленты не используются.
- Не исключает никаких категорий и добавляет все категории (параметр include вообще не указывается)
- Показывает категории в иерархическом списке.
- Показывает заголовок списка.
- Не устанавливает SQL LIMIT (‘number’ => 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 категории на которую возвратится ссылка.
- Значения по умолчанию нет.