I made the below for my sidebar to show the subcategories of a specific category (ID 89) of my choosing. Only the subcategories that the post is in appear. Works great.
Now I want to change my posts in to WooCommerce Products, so I'm trying to adapt the code to target WC subcategories instead of post categories. I'm a bit lost on where to start.
<ul>
<?php foreach (get_the_category() as $childcat) : ?>
<?php if (cat_is_ancestor_of(89, $childcat)) { ?>
<li>
<a href="<?php echo get_category_link($childcat->term_id); ?>"><?php echo $childcat->cat_name; ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
</ul>
I made the below for my sidebar to show the subcategories of a specific category (ID 89) of my choosing. Only the subcategories that the post is in appear. Works great.
Now I want to change my posts in to WooCommerce Products, so I'm trying to adapt the code to target WC subcategories instead of post categories. I'm a bit lost on where to start.
<ul>
<?php foreach (get_the_category() as $childcat) : ?>
<?php if (cat_is_ancestor_of(89, $childcat)) { ?>
<li>
<a href="<?php echo get_category_link($childcat->term_id); ?>"><?php echo $childcat->cat_name; ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
</ul>
Share
Improve this question
asked Mar 17, 2019 at 19:05
SeanAUS120SeanAUS120
311 silver badge4 bronze badges
1 Answer
Reset to default 1...to show the subcategories of a specific category (ID 89) ...
Try this
$product_cats = wp_get_post_terms( $post->ID, 'product_cat' );
if ( ! empty( $product_cats ) && ! is_wp_error( $product_cats ) ) { ?>
<ul>
<?php
foreach ($product_cats as $childcat) : ?>
<?php if ($childcat->parent == 89)) { ?>
<li>
<a href="<?php echo get_term_link($childcat->term_id); ?>"><?php echo $childcat->name; ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
</ul>
<?php } ?>
I hope this helps.