如何为WooCommerce可变产品设置双货币切换价格选项
给WooCommerce可变产品添加双货币价格的实现方案
嘿,作为WordPress新手,要实现你说的这个可变产品双货币价格功能其实挺容易的,我给你整理了两种方案,你可以根据自己的情况选:
方案一:自定义属性+少量代码(适合不想装太多插件的同学)
这个方案不用额外装插件,靠WooCommerce自带的变体功能加一点代码就能搞定:
1. 创建产品属性与变体
- 打开你要编辑的可变产品,找到「产品数据」面板,切换到「属性」标签
- 点击「添加新属性」,命名为区域选择,属性值输入「本地,其他国家」(逗号分隔),勾选「用于可变产品」,然后点击「保存属性」
- 切换到「变体」标签,点击「根据所有属性创建变体」,系统会自动生成「本地」和「其他国家」两个变体
2. 设置基础价格
- 在生成的两个变体里,给「其他国家」变体设置价格为
2.5,货币保持默认美元;给「本地」变体设置价格为0.5 - 先别急着改货币,接下来用代码替换本地变体的货币符号
3. 添加自定义代码替换本地货币
我推荐用「Code Snippets」插件来加代码(比直接改主题functions.php安全,避免改坏主题):
- 安装并激活「Code Snippets」插件,进入「Snippets」→「Add New」
- 粘贴下面的代码,注意替换属性slug和自定义货币符号:
add_filter('woocommerce_get_price_html', 'custom_local_currency_price_html', 10, 2); function custom_local_currency_price_html($price, $product) { // 只针对可变产品的变体生效 if ($product->is_type('variation')) { $variation_attrs = $product->get_variation_attributes(); // 这里的pa_region-selection是你创建的「区域选择」属性的slug,要和实际一致 if (isset($variation_attrs['pa_region-selection']) && $variation_attrs['pa_region-selection'] === '本地') { // 把默认货币符号替换成你自定义的,比如「本地币」或者「¥」 $price = str_replace(get_woocommerce_currency_symbol(), '本地币', $price); } } return $price; }
- 点击「Save Changes and Activate」激活代码,然后回到产品页测试,切换「本地」变体就能看到自定义货币的价格啦
方案二:用多货币插件(适合怕代码的新手)
如果不想碰代码,用专门的WooCommerce多货币插件更省心,比如「Multi Currency for WooCommerce」或者「WooCommerce Multi Currency」:
- 安装并激活插件后,进入插件设置页面,添加你的自定义本地货币(设置货币代码、符号、汇率,汇率设为1就行,因为我们是固定价格)
- 回到可变产品的「变体」标签,给「本地」变体选择你刚添加的自定义货币,设置价格
0.5;给「其他国家」变体选择美元,设置价格2.5 - 保存产品后,用户选择不同变体时,插件会自动切换对应的货币和价格,完全不用写代码
小提醒
- 用代码方案的话,一定要确认属性slug和代码里的一致,你可以在「产品→属性」页面查看属性的slug
- 测试的时候多切换几次变体,确保价格和货币显示都正确
- 如果用插件,记得选口碑好、更新活跃的,避免兼容性问题
内容的提问来源于stack exchange,提问作者core114
相关产品推荐
相关产品推荐

