简体   繁体   中英

List of showing categories and sub-categories of post in Wordpress

This seems to be very simple but I don't know why the below code is not working. I have searched all over in Google, there are many solutions but not working for me. Guys, please let me know what I am missing.

My Code below:

    <ul class="category-sidebar">   
        <?php 
        $get_parent_cats = array(
        'parent' => '0' //get top level categories only
        ); 

         $all_categories = get_categories( $get_parent_cats );//get parent categories 

         foreach( $all_categories as $single_category ){
         //for each category, get the ID
          $catID = $single_category->cat_ID;

           echo '<li><a href=" ' . get_category_link( $catID ) . ' ">' . $single_category->name . '</a>'; //category name & link
        $get_children_cats = array(
        'child_of' => $catID //get children of this parent using the catID variable from earlier
        );

           $categories = get_categories($args);

          $child_cats = get_categories( $get_children_cats );//get children of parent category
          echo '<ul class="children">';
          foreach( $child_cats as $child_cat ){
          //for each child category, get the ID
          $childID = $child_cat->cat_ID;

          //for each child category, give us the link and name
          echo '<a href=" ' . get_category_link( $childID ) . ' ">' . $child_cat->name . '</a>';

          }
          echo '</ul></li>';
           } //end of categories logic ?>
        </ul><!--end of category-sidebar-->

This is only giving me Categories but not sub-categories in them. Please help anyone.

Thanks in advance.

Hey I found the solution:

<ul class="category-sidebar">   
        <?php 
        $get_parent_cats = array(
        'parent' => '0','hide_empty' => false //get top level categories only
        ); 

        $all_categories = get_categories( $get_parent_cats );//get parent categories 

        foreach( $all_categories as $single_category ){
        //for each category, get the ID
        $catID = $single_category->cat_ID;

        echo '<li><a href=" ' . get_category_link( $catID ) . ' ">' . $single_category->name . '</a>'; //category name & link
        $get_children_cats = array(
        'child_of' => $catID,'hide_empty' => false //get children of this parent using the catID variable from earlier
        );

        $categories = get_categories($args);

        $child_cats = get_categories( $get_children_cats );//get children of parent category
        echo '<ul class="children">';
        foreach( $child_cats as $child_cat ){
        //for each child category, get the ID
        $childID = $child_cat->cat_ID;

        //for each child category, give us the link and name
        echo '<a href=" ' . get_category_link( $childID ) . ' ">' . $child_cat->name . '</a>';

        }
        echo '</ul></li>';
        } //end of categories logic ?>
        </ul>

Thanks everyone for your time. :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM