Display subcategories on each category page wordpress

I created this categories structure in my wordpress:

* Category1
    * SubCategory1(of Category1)
    * SubCategory2(of Category1)
* Category2
    * SubCategory1(of Category2)
* Category3

I need to list on each category its subcategories.(without any post)
So when I will access the Category one -> I should see only the subcategories. If the Main category does not have any subcategory -> I should see its posts.

Read More

My question1: What is the category page file name on wordpress? (I searched a lot but without any clear answer).

My question1: How to display for each main category(eg: Category1) only its children.

Related posts

Leave a Reply

2 comments

  1. Add on category.php page

     <?php
        if ( is_category() ) {
          $current_cat = get_query_var('cat'); ?>
    <ul> 
       <?php wp_list_categories('&title_li=&show_count=1&child_of='.$current_cat); ?>
    </ul> 
       <?php  } ?>
    

    http://codex.wordpress.org/Template_Tags/wp_list_categories

    for taxonomy get sub category list taxonomy-producttax_category.php:

     <?php $args = array(
                'show_count'         => 1,
                'child_of'           => get_queried_object()->term_id,
                'taxonomy'           => 'private_category', //define your taxeonomy
                'title_li'           =>'',
            ); ?>
            <ul>
             <?php wp_list_categories( $args ); ?> 
            </ul>
    
  2. you can achieve that with this code:

    <?php
      if (is_category()) {
        $this_category = get_category($cat);
      }
    ?>
    <?php
      if($this_category->category_parent)
        $this_category = wp_list_categories('orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->category_parent."&echo=0"); else $this_category = wp_list_categories('orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
     if ($this_category) { ?>
       <ul>
         <?php echo $this_category; ?>
       </ul>
    <?php } ?>