# Функция CAT_IS_ANCESTOR_OF() │ WP 2.1.0
Функция cat_is_ancestor_of() позволяет проверить, является ли указанная категория дочерней по отношению к другой категори��. Эта проверка охватывает все уровни вложенности категорий.
## Примечания
- Функция будет работать только в том случае, если категория, указанная в параметре $cat2, вложена в категорию $cat1.
- Результат будет возвращать true, даже если $cat2 вложена в $cat1 через несколько категорий (то есть при многослойной вложенности).
- В параметры необходимо передавать именно число или объект. Например, если вы передадите число как строку '4', функция вернёт false, даже если категории связаны.
Использует: term_is_ancestor_of()
**Время выполнения:**
- 1 раз — 0.000757 сек (медленно)
- 50000 раз — 1.05 сек (быстро)
- PHP 7.0.5, WP 4.5.1
## Возвращаемое значение
Функция возвращает true или false. Это указывает на то, является ли $cat2 дочерней категория к $cat1.
## Использование
```php
cat_is_ancestor_of( $cat1, $cat2 );
$cat1(number/object) (обязательно) — ID родительской категории. Эта категория должна быть родителем категории, указанной в параметре$cat2.$cat2(number/object) (обязательно) — ID дочерней категории любого уровня. Эта категория должна быть дочерней по отношению к категории, указанной в параметре$cat1.
Пример
1. Меню навигации только для категории с ID 4
Этот пример можно использовать на странице категории, чтобы отображать навигационное меню wp_nav_menu() только для категории с ID 4 или её подкатегорий.
// Если это категория 4 или её подкатегория
if( cat_is_ancestor_of( 4, $cat ) || is_category( 4 ) ){
wp_nav_menu( [ 'menu' => 'Music' ] );
}
Добавьте свой пример
Изменения
- Версия 2.1.0 — введена функция.
Код функции CAT_IS_ANCESTOR_OF()
Функция находится в файле wp-includes/category.php.
function cat_is_ancestor_of( $cat1, $cat2 ) {
return term_is_ancestor_of( $cat1, $cat2, 'category' );
}
Связанные функции
Отношения (термины публикаций и т.д.)
get_adjacent_post()get_ancestors()get_category_parents()get_next_post()get_post_ancestors()get_previous_post()get_term_children()
Условные теги
category_exists()comments_open()email_exists()has_block()has_category()has_custom_header()- и многие другие...
Категории
category_description()get_cat_ID()get_cat_name()get_categories()get_category()get_category_by_slug()- и многие другие...