I am trying to make a snippet for WordPress. It should get a list of all subcategories given the id of a parent product category.
There are three levels of product categories, if level 1 is given the result should be all the subcategories that are in each of the lower levels.
I started doing the code but I didn´t finished it, and not sure where is the issue. On top of that I am using Oxygen builder, and this is why I created a shortcode on CodeSnippet plugin, and added the shortcode on Oxygen.
This is the code I am trying, this part should return the subcategories of a the parent category.
add_shortcode( 'subcategoriasdecategoria', function () {
?>
<ul class="megamenu_categoria2">
<?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
);
$child_cats = get_categories( $get_children_cats );//get children of parent category
echo '<ul class="megamenu_categoria2">';
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 class="megamenu_categoria2" href=" ' . get_category_link( $childID ) . ' ">' . $child_cat->name . '</a>';
}
echo '</ul></li>';
} //end of categories logic
return $out;
} );
Can anyone help me?