fuxi
  • 0
Новичок

Список всех подкатегорий из категории

  • 0

Как я могу получить все подкатегории из определенной категории?

Share
  1. Как объяснено здесь, вы также можете использовать get_terms(): stackoverflow.com/questions/22443352/…

    • 0
  2. Да, вы можете использовать get_categories() с помощью 'child_of' атрибута. Например, все подкатегории категории с идентификатором 17:

    $args = array('child_of' => 17);
    $categories = get_categories( $args );
    foreach($categories as $category) { 
        echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
        echo '<p> Description:'. $category->description . '</p>';
        echo '<p> Post Count: '. $category->count . '</p>';  
    }
    

    Это позволит получить все категории, которые являются потомками (т.е. дети и внуки).

    Если вы хотите отображать только категории, которые являются прямыми потомками (т.е. только дочерними), вы можете использовать 'parent' атрибут.

    $args = array('parent' => 17);
    $categories = get_categories( $args );
    foreach($categories as $category) { 
        echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
        echo '<p> Description:'. $category->description . '</p>';
        echo '<p> Post Count: '. $category->count . '</p>';  
    }
    
    • 0
  3. Для пользовательских типов сообщений «категории» используйте get_terms().

    (Изменение ответа @Bainternet)

                $categories = get_terms( array(
                    'taxonomy' => 'product_cat',
                    'hide_empty' => false,
                    'parent' => 17 // or 
                    //'child_of' => 17 // to target not only direct children
                ) );
                
                foreach($categories as $category) { 
                    echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
                    echo '<p> Description:'. $category->description . '</p>';
                    echo '<p> Post Count: '. $category->count . '</p>';  
                }
    
    • 0

Оставить ответ

You must login to add an answer.