如何编写WooCommerce商品分类判断的PHP代码?
WooCommerce商品分类判断代码改写方案
原WordPress文章分类判断代码:
<?php if (in_category('268')) { ?> All articles written here appear in category 268. <?php } ?>
针对WooCommerce商品分类,你可以使用has_term()函数实现相同逻辑——这个函数专门用于检测当前商品是否属于指定的自定义分类法(WooCommerce商品分类的分类法标识是product_cat)。
基础实现(按分类ID判断)
<?php if (has_term('268', 'product_cat')) { ?> 该商品属于ID为268的商品分类 <?php } ?>
按分类别名(Slug)判断
如果不知道分类ID,也可以用分类的别名(即分类URL中的唯一标识):
<?php if (has_term('your-category-slug', 'product_cat')) { ?> 该商品属于指定别名的商品分类 <?php } ?>
判断是否属于多个分类中的任意一个
如果需要检测商品是否属于多个分类里的某一个,可传入数组参数:
<?php if (has_term(['268', 'your-category-slug'], 'product_cat')) { ?> 该商品属于指定的其中一个商品分类 <?php } ?>
使用说明
- 这段代码需要放在WooCommerce商品相关模板中生效,比如
single-product.php、商品详情页的模板片段文件,或者自定义的商品短代码里。 - 确保当前页面处于商品详情页上下文,
has_term()会自动获取当前商品的分类信息。
内容的提问来源于stack exchange,提问作者Ozgen1905
相关产品推荐
相关产品推荐

