WooCommerce获取全部分类名称仅显示未分类问题排查求助
问题根因
- 你调用的
get_categories()默认查询的是WordPress原生的文章分类,而WooCommerce的商品分类是独立的自定义分类法,分类法标识为product_cat,所以默认调用只会返回WordPress默认的文章分类(也就是你看到的「未分类」)。 - 原代码直接循环输出分类名称会导致内容连在一起,不符合你要的顿号分隔格式。
修复后的代码
<?php // 指定查询WooCommerce商品分类 $categories = get_categories( array( 'taxonomy' => 'product_cat', 'hide_empty' => false, // 可选参数:设为true则只展示关联了商品的分类,设为false会展示所有创建过的分类 ) ); if ( !empty( $categories ) ) { $category_output = array(); foreach( $categories as $category ) { $category_output[] = '<span class="simple-news-categories">' . esc_html( $category->name ) . '</span>'; } // 按要求用顿号分隔输出所有分类 echo implode( '、', $category_output ); } ?>
可选调整说明
- 如果需要限制返回分类的数量,可以在参数数组里加
'number' => 数量值,比如'number' => 10就是只返回前10个分类 - 如果需要按照特定顺序排序,可以加
'orderby' => 'name'(按名称排序)、'order' => 'ASC'(正序)的参数
内容的提问来源于stack exchange,提问作者sohag513
相关产品推荐
相关产品推荐

