1

I have categories:

-Parent category
--Subcategory
---Grandcategory

How i can display parent category and only subccategory(not display grandcategory). My args:

$args = array(
                            'type'                     => 'product',
                            'child_of'                 => $category_ID,
                            'parent'                   => '',
                            'orderby'                  => 'name',
                            'order'                    => 'ASC',
                            'hide_empty'               => 0,
                            'hierarchical'             => 1,
                            'exclude'                  => '',
                            'include'                  => '',
                            'number'                   => '',
                            'taxonomy'                 => 'product_cat',
                            'pad_counts'               => true );

and i query :

$categories = get_categories( $args );
1
  • 1
    As an alternative you could switch from get_categories() to wp_list_categories() and use the 'depth' parameter...
    – Sven
    Jul 13, 2013 at 6:55

1 Answer 1

1

The easiest way to do this would be to use wp_list_categories instead. It has depth parameter which will do exactly what you want (you can use custom walker class, if you need different output than default one).

Another way would be to write your own code (but it won't be a beautiful one). You can use something like this:

$args = ...
$categories = get_categories( $args );  // $category_ID as child_of
foreach ($categories as $k=>$category) {
    if ( $category->parent != $category_ID) {  // it's not direct child
        $parent_category = get_term($category->parent, 'product_cat');
        if ( $parent_category->parent != $category_ID ) {  // it's not grandchild either
            unset($categories[$k]);
        }
    }
}
2
  • remove my answer since it went nowhere. Keep yours in my favorite.
    – JMau
    Jul 13, 2013 at 23:59
  • yeahh. Thank you. I'm sorry but i cannot vote for you. Thank again.
    – Dean Ngo
    Jul 14, 2013 at 8:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.