WordPress как на ладони
wordpress jino

cat_is_ancestor_of() WP 2.1.0

Проверяет, является ли указанная рубрика дочерней к другой указанной рубрике (проверяются все уровни вложенности). Условный тег.

Работает на основе: term_is_ancestor_of()
✈ 1 раз = 0.000757с = медленно | 50000 раз = 1.05с = быстро PHP 7.0.5, WP 4.5.1

Хуков нет.

Возвращает

Это логическая функция, поэтому она возвращает правду (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' )); 
}

Заметки

  • Функция будет работать, только если категория указанная в параметре $cat2 будет вложенной в категорию указанную в параметре $cat1;

  • Результат true будет возвращен даже если $cat2 вложена в $cat1 через несколько категорий (многоуровневая проверка вложенности);

  • В параметры следует передавать именно число или объект. Например если передать число в виде строки ('4'), функция вернет false даже если категории родственные.

Код cat is ancestor of: wp-includes/category.php WP 4.8.2

<?php
function cat_is_ancestor_of( $cat1, $cat2 ) {
	return term_is_ancestor_of( $cat1, $cat2, 'category' );
}

Cвязанные функции

Из метки: Связи

Еще из метки: Условные теги (все)

Еще из раздела: Рубрики

cat_is_ancestor_of Комментариев нет

Здравствуйте, !

Ваш комментарий