Поддержка Проблемы и решения Вывод подкатегории поста

  • Решено mennitron

    (@mennitron)


    Доброго времени суток. Нужно проверить на наличие принадлежности поста к подкатегориям (у родительской категории id=10) и вывести эту саму подкатегорию. Проверка работает, с выводом не получается.

    if ( in_category( 10 ) || post_is_in_descendant_category( 10 ) ) {
       echo //тут должна выводится подкатегория поста
    }

    Для post_is_in_descendant_category в functions.php добавлял:

    function post_is_in_descendant_category( $cats, $_post = null )
    {
        foreach ( (array) $cats as $cat ) {
            // get_term_children() accepts integer ID only
            $descendants = get_term_children( (int) $cat, 'category');
            if ( $descendants && in_category( $descendants, $_post ) )
                return true;
        }
        return false;
    }

Просмотр 1 ответа (всего 1)
  • Для всех, кто столкнулся с данной проблемой, нашёл решение:

    if ( in_category( 10 ) || post_is_in_descendant_category( 10 ) ) {
        foreach((get_the_category()) as $childcat) {
          if (cat_is_ancestor_of(10, $childcat)) {
            echo $childcat->cat_name;
           }
        }
    }

Просмотр 1 ответа (всего 1)
  • Тема «Вывод подкатегории поста» закрыта для новых ответов.