You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:51:53