cat_is_ancestor_of() — является ли указанная категория родительской для другой указанной категории

Функция возвращает true, если $cat1 является родительской рубрикой для $cat2 (вне зависимости от уровня вложенности), возвращает false в обратном случае, а также, если в аргументах функции неправильно задан тип (строки не поддерживаются).

cat_is_ancestor_of( $cat1, $cat2 )
$cat1
(целое число|объект) ID или объект рубрики, здесь нужно указать родительскую рубрику
$cat2
(целое число|объект) ID или объект рубрики, здесь нужно указать дочернюю рубрику

Пример

if ( cat_is_ancestor_of(1, 4) ){
	echo 'Категория с ID = 4 является дочерней для категории с ID = 1';
}

Комментарии 4

  • Наталия21 июня 2015 в 05:06 #

    А как можно проверить является ли категория дочерней по отношению к какой-нибудь другой без конкретных ID?

    Мне это нужно для вывода заголовков архивных страниц. Сейчас архивная страница любой категории имеет заголовок "Рубрика такая-то". А нужно, чтобы в случае, если категория дочерняя заголовок был "Подрубрика такая-то".

    Формируются заголовки в шаблоне archive.php кодом:

    if ( is_category() ) : single_term_title( '<span class="title-regular">Рубрика: </span>' );

    Как сформулировать условие if категория имеет родительскую?

    • Миша21 июня 2015 в 07:06 #

      Получение ID текущей рубрики:

      $cat_ID = get_query_var('cat');
      • Наталия21 июня 2015 в 09:06 #

        Я попробовала:

        if ( cat_is_ancestor_of( $cat_ID, $cat_ID) ) : 
        single_term_title( '<span class="title-regular">Подрубрика: </span>' );

        Не работает.

        • Миша22 июня 2015 в 09:06 #
          $cat_ID = get_query_var('cat');
          $category = get_category( $cat_ID );
          if( $category->parent ) {
          // подрубрика
          } else {
          // не подрубрика
          }

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...