如何仅在Woocommerce商品详情页移除产品变体价格小数位?
解决方案
要实现仅在商品详情页的可变产品变体价格中移除小数位,你需要给过滤器woocommerce_price_trim_zeros添加条件判断,而非直接全局启用。具体代码如下:
add_filter( 'woocommerce_price_trim_zeros', 'trim_variation_price_zeros_on_single_product', 10, 1 ); function trim_variation_price_zeros_on_single_product( $trim ) { // 仅在商品详情页,且当前产品为可变产品时生效 if ( is_product() && wc_get_product()->is_type( 'variable' ) ) { return true; } // 其他页面保持原有价格格式 return $trim; }
代码说明:
- 用
is_product()判断当前是否为商品详情页 - 用
wc_get_product()->is_type('variable')限制仅对可变产品生效 - 满足条件时返回
true(移除小数位),其他场景保持默认的$trim值(保留原有格式)
这段代码可添加到你的自定义插件文件,或主题的functions.php中。测试时注意:
- 商品详情页选择变体后,常规价和促销价会自动去掉小数位
- 商店页、购物车页、结账页的价格显示不受影响
内容的提问来源于stack exchange,提问作者Suneth Kalhara
相关产品推荐
相关产品推荐

