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Просто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...