cat_is_ancestor_of() WP 2.1.0
Проверяет, является ли указанная рубрика дочерней к другой указанной рубрике (проверяются все уровни вложенности). Условный тег.
Заметки
-
Функция будет работать, только если категория указанная в параметре
$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.
- true — когда $cat1 родственная категория к категории $cat2.
- false — когда не родственная.
Использование
cat_is_ancestor_of( $cat1, $cat2 );
- $cat1(число/объект) (обязательный)
- ID родительской категории. Категории, которая должна быть родительской к категории указанной в параметре
cat2
. Вместо ID можно передать объект.
По умолчанию: нет - $cat2(число/объект) (обязательный)
- ID дочерней категории любого уровня. Категории, которая должна быть дочерней категорией к категории указанной в параметре
cat1
. Вместо ID можно указать объект.
По умолчанию: нет
Примеры
Это пример, который можно использовать на странице категорий, для того чтобы вывести навигационное меню (wp_nav_menu()
) только для категории с ID 4 или категорий вложенных в эту категорию.
// если это категория 4 или её подкатегория if( cat_is_ancestor_of(4, $cat) or is_category(4) ){ wp_nav_menu( array('menu' => 'Music' )); }
Список изменений
С версии 2.1.0 | Введена. |
Код cat_is_ancestor_of() cat is ancestor of WP 5.6.2
function cat_is_ancestor_of( $cat1, $cat2 ) {
return term_is_ancestor_of( $cat1, $cat2, 'category' );
}