Описание
Получает список родительских категорий текущей категории. Список выводиться в порядке вложености.
Можно указать чтобы названия родительских категорий были ссылками на сами категории (нечто вроде хлебных крошек).
Функция возвращает HTML код, список родительских категорий.
Использование
<?php get_category_parents($category, $display_link, $separator, $nice_name); ?>
Параметры
- $category (число)
- ID категории, для которой нужно вывести родительские категории. По умолчанию берется ID текущей категории, если удалось определить (определить удается обычно на страницах категорий).
По умолчанию: текущая категория или нет - $display_link (логический)
- true - выведет список родительских категорий в виде ссылок на страницы категорий. False - будут выведены названия.
По умолчанию: false - $separator (строка)
- Разделитель между названиями.
По умолчанию: '/' - $nice_name (логический)
- true - выведет альтернативные названия (слаги) категорий (которые используются в УРЛах), а false - выедет реальные названия.
По умолчанию: false
Примеры
1. Выведем родительские категории категории 10, в виде ссылок разделенных знаком ' » '. Ссылка на категорию 10 так же будет выведена.
<?php echo get_category_parents(10, true, ' » '); ?>
get_category_parents()
из файла: /wp-includes/category-template.php WP 3.3.2function get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
$chain = '';
$parent = &get_category( $id );
if ( is_wp_error( $parent ) )
return $parent;
if ( $nicename )
$name = $parent->slug;
else
$name = $parent->name;
if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) {
$visited[] = $parent->parent;
$chain .= get_category_parents( $parent->parent, $link, $separator, $nicename, $visited );
}
if ( $link )
$chain .= '<a href="' . get_category_link( $parent->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
else
$chain .= $name.$separator;
return $chain;
}Связанные Функции
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Имеем - категория-1 -> категория-2 -> запись.
Такой вопрос - можно ли сразу получить ID "категория-1" (самый верхний уровень)?
Есть ли такая функция или надо перебором?
Нужно для того, чтобы возле заголовка каждой записи стояла иконка принадлежности к определенному глобальному разделу сайта (таких пока 3).