如何在WooCommerce店铺/归档页产品标题前显示产品子分类
WooCommerce产品归档页显示子分类名称实现方案
原有代码仅按默认顺序取第一个返回的分类,默认排序规则下通常会优先返回层级更高的父分类,因此无法稳定获取子分类。调整后的代码如下:
function category_single_product(){ $product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' ); if ( $product_cats && ! is_wp_error ( $product_cats ) ){ // 优先筛选子分类(父分类ID不为0的分类) $child_cats = array_filter($product_cats, function($cat) { return $cat->parent > 0; }); // 存在子分类则取子分类,否则取默认第一个分类做兼容 $single_cat = !empty($child_cats) ? array_shift($child_cats) : array_shift($product_cats); ?> <h2 itemprop="name" class="product_category_title"><span><?php echo $single_cat->name; ?></span></h2> <?php } }
使用说明:
- 将上述代码添加到当前主题的
functions.php文件中即可生效 - 若产品同时绑定多个子分类,代码会取排序最靠前的子分类输出
- 未绑定子分类的产品会默认输出绑定的父分类名称,避免出现空值
内容的提问来源于stack exchange,提问作者Min Baik
相关产品推荐
相关产品推荐

