WP All Import导入Woocommerce商品时如何去除价格多余小数?
WooCommerce XML导入价格格式化解决方案
问题核心为源XML价格的千位分隔符规则与WooCommerce默认货币格式规则冲突,源格式X.000 €中的.为千位分隔符,实际对应整数金额X,可通过以下两种方案解决:
方案1:导入前预处理{price[1]}字段(推荐)
适合还未完成全量导入的场景,处理后的数据直接符合要求,无需后续修改前端规则:
- 若使用WP All Import等主流导入工具,直接在价格映射输入框中套入处理函数即可:
- 仅需导入整数价格:
str_replace('.000', '', {price[1]}) - 需保留两位小数且以逗号为分隔符:
number_format((float)str_replace('.000', '', {price[1]}), 2, ',', '')
- 仅需导入整数价格:
方案2:导入后统一修改前端输出规则
适合已完成全量导入、不想重新跑导入任务的场景,将以下代码添加到当前激活主题的functions.php文件即可:
add_filter('woocommerce_get_price_html', 'custom_woocommerce_price_format', 10, 2); function custom_woocommerce_price_format($price_html, $product) { $raw_price = floatval($product->get_price()); // 二选一启用对应规则: // 1. 仅显示整数价格 // return wc_price(intval($raw_price)); // 2. 显示两位小数,逗号作为小数分隔符 return number_format($raw_price, 2, ',', ''); }
注意事项
- 操作完成后建议清空WooCommerce商品缓存和站点缓存,避免旧缓存影响展示效果
- 若站点启用了多币种插件,需要同步在插件配置中将千位分隔符设为空、小数分隔符设为逗号
内容的提问来源于stack exchange,提问作者Juraj
相关产品推荐
相关产品推荐

