Описание
Условный тег, проверяющий родственность двух категорий (проверяются все уровни вложенности).
Это логическая функция, поэтому она возвращает правду (true), если $cat1 родственная категория к категории $cat2 и ложь (false), если не родственная.
Использование
<?php cat_is_ancestor_of( $cat1, $cat2 ); ?>
Параметры
По умолчанию: нет
По умолчанию: нет
Примеры
1. Это пример, который можно использовать на странице категорий, для того чтобы вывести навигационное меню (wp_nav_menu()) только для категории с ID 4 или категорий вложенных в эту категорию.
<?php
// если это категория 4 или её подкатегория
if (cat_is_ancestor_of(4, $cat) or is_category(4)) {
wp_nav_menu( array('menu' => 'Music' ));
} ?>
На заметку
- Функция будет работать, только если категория указанная в параметре $cat2 будет вложеной в категорию указанную в параметре $cat1;
- Результат true будет возвращен даже если $cat2 вложена в $cat1 через несколько категорий (многоуровневая проверка вложенности);
- В параметры следует передвать именно число или объект. Например если передать число в виде строки ('4'), функия вернет false даже если категории родственные.
cat_is_ancestor_of()
из файла: /wp-includes/category.php WP 3.3.2function cat_is_ancestor_of( $cat1, $cat2 ) {
if ( ! isset($cat1->term_id) )
$cat1 = &get_category( $cat1 );
if ( ! isset($cat2->parent) )
$cat2 = &get_category( $cat2 );
if ( empty($cat1->term_id) || empty($cat2->parent) )
return false;
if ( $cat2->parent == $cat1->term_id )
return true;
return cat_is_ancestor_of( $cat1, get_category( $cat2->parent ) );
}Связанные Функции
- get_adjacent_post() view
- get_term_children() view
- get_category_parents() view
- is_attachment() view
- is_new_day() view
- has_term() view
- is_404() view
- is_date() view
- is_front_page() view
- is_multisite() view
- is_page_template() view
- is_single() view
- is_ssl() view
- is_year() view
- pings_open() view
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.