如何向 WooCommerce 商店添加多货币和支付网关
了解如何使用 WPML 在您的 WooCommerce 商店中设置多货币。这包括启用多货币、设置每种货币的价格(或使用自动汇率转换)、显示货币切换器(区块、小工具或简码)、将不同的支付网关路由到不同的国家/地区,以及根据访客位置自动切换货币。无论您的商店是单语言还是多语言网站,多货币功能都能正常运行。
有关翻译商店内容的信息,请参阅如何在 WordPress 中翻译 WooCommerce。
开始之前
安装并激活:
- WooCommerce,在 WooCommerce > 设置 > 常规中设置您商店的默认货币,且至少有一个已发布的产品。
- WPML 核心以及 WPML Multilingual & Multicurrency for WooCommerce 兼容性附加组件。从您的 WPML 帐户下载页面下载该附加组件。
多货币功能无需次要语言即可运行。您的商店不必是多语言网站也能使用它。如果您只需在单语言商店中使用多货币,WordPress.org 上免费的 WooCommerce Multilingual 插件也可以独立处理。
为您的商店启用多货币
要在 WooCommerce 中启用多货币,请打开 WPML > 设置 > 多货币,并将“启用多货币模式”开关切换为开启状态。接着添加您希望用于销售的每种货币。为每种货币设置符号位置、小数分隔符、千位分隔符和小数位数。价格格式应符合该市场购物者的期望。
您的默认货币仍然是在 WooCommerce 自身设置(WooCommerce > 设置 > 常规)中配置的货币。您在多货币设置中添加的其他货币可供客户切换使用。
设置每种货币的价格或使用自动转换
要在多货币 WooCommerce 商店中设置每种货币的价格,请在手动设置每种货币的价格或自动汇率转换之间进行选择。这两个选项针对每种货币独立生效。您可以为某些货币混合使用手动价格,为其他货币使用自动转换,或者全程使用一种方法。
手动设置每种货币的价格 – 客户期望的规整数字
明确设置每个产品在每种货币下的价格。$20 的产品变成欧元 €19.99 和日元 ¥3,000。客户看到的是他们熟悉的规整数字,而不是实时汇率换算的结果。您可以在每个产品的编辑屏幕上,在与 WooCommerce 标准价格字段并排显示的多货币面板中设置手动价格。
对于大多数向成熟市场销售的商店来说,手动定价是正确的选择。它可以让您有针对性地为每个市场定价。在某些市场提供折扣,在其他市场收取溢价。您无需让昨天的汇率决定一切。
根据源价格自动转换
只需设置一次源价格。兼容性插件会应用汇率并在每种货币中显示转换后的价格。在 WPML > 设置 > 多货币的“自动汇率”部分配置汇率。您可以手动设置汇率,或者按照您选择的时间表从已配置的来源实时获取汇率。
对于目录快速变化或拥有多种货币的商店来说,自动转换是正确的选择,因为手动设置每个价格是不切实际的。
显示货币切换器 – 小工具、区块或简码
要在 WooCommerce 商店中显示货币切换器,您有三种放置选项。选择适合您希望切换器出现位置的任何一种。
- 区块。通过 WordPress 区块编辑器将货币切换器区块拖放到任何页面或文章中。
- 小工具。通过外观 > 小工具将货币切换器小工具拖到任何小工具区域。
- 简码。将
[currency_switcher]粘贴到您希望切换器出现的任何页面、文章或模板中。
在 WPML > 设置 > 多货币的“货币切换器选项”部分配置切换器的外观。您可以选择下拉菜单、并排或列表。您也可以选择仅符号、仅代码或两者兼有。这些设置适用于每个放置位置。
货币切换器简码参考
[currency_switcher] 简码接受以下属性:
format。控制每种货币的呈现方式。标记:%name(完整货币名称,例如 Euro),%symbol(例如 €),%code(例如 EUR),%subtotal(该货币的购物车小计)。示例:[currency_switcher format="%name (%symbol)"]呈现为 Euro (€)。switcher_style。视觉样式。值:wcml-dropdown、wcml-dropdown-click、wcml-horizontal-list、wcml-vertical-list。
包含这两个属性的示例:
[currency_switcher format="%code %symbol" switcher_style="wcml-dropdown"]
如需进行更深入的自定义(例如构建您自己的切换器模板),开发者可以参考单独的模板文件参考。
按国家/地区和货币显示不同的支付网关
要按货币路由支付网关,请打开 WPML > 设置 > 多货币,然后在“货币”表格中单击每种货币的“编辑”。每种货币都会列出可用的支付网关及复选框。启用适用于该货币的网关。禁用不适用的网关。客户只会看到适用于其支付货币的付款选项。
这是处理在多个地区销售的商店的正确方法。您的默认 Stripe 帐户可能处理美元,而区域 Stripe 帐户或本地网关处理另一种货币。以每种货币付款的客户将看到与该货币绑定的网关,而不是同时看到所有网关。
根据访客位置自动切换货币
要根据访客位置自动切换货币,请打开 WPML > 设置 > 多货币,并在“货币”部分下,在“显示货币基于”中选择“客户位置”(而不是“网站语言”)。此选项需要 MaxMind 许可证密钥以进行基于 IP 的国家/地区检测。然后,插件会检测访客所在的国家/地区,并默认显示该国家/地区的货币。您可以在同一设置面板中将每个国家/地区映射到一种货币。
如果您在页面中添加了货币切换器,客户仍然可以手动切换。两者可以协同工作。位置检测设置默认货币。切换器可用于覆盖默认设置。
WooCommerce Subscriptions、Bookings 及其他扩展产品类型
多货币功能支持主要的 WooCommerce 扩展产品类型。在正式上线之前,需要确认每种类型自身的行为。
- WooCommerce Subscriptions。定期订阅产品支持多货币定价。以与设置产品价格相同的方式设置每种货币的订阅价格。续订付款将以客户订阅时使用的货币进行处理。
- WooCommerce Bookings。可预订产品价格、押金金额和按资源计算的成本均支持按货币定价。预订确认在整个过程中都会显示客户的货币。
- Product Bundles、Composite Products、Mix and Match。捆绑包和组件产品遵循父产品的货币和价格配置。
对于任何扩展产品类型,请在发布前使用每种货币端到端地测试一次示例购买。多货币设置在各个扩展中运行一致。针对特定扩展的定价规则(押金、付款计划、捆绑折扣)可能会产生相互影响,您需要对此进行验证。
在更改货币或语言时处理购物车
当客户在会话中途切换货币或语言时,他们的购物车中仍保留着以之前货币定价的商品。WPML 5 允许您分别为每种情况选择购物车的行为。打开 WPML > 设置 > WCML,并滚动到“购物车”部分。
您会看到两对单选按钮:
- 购物车中有商品时切换语言。选择“切换语言时同步购物车内容”以保留购物车并对其商品重新定价,或者选择“提示确认并重置购物车”以在重置前询问客户。
- 购物车中有商品时切换货币。对于货币更改,也有相同的两个选项。
购物车同步需要 WPML 语言 cookie。如果它被禁用,该部分会显示一条内联通知,链接到 WPML > 设置 > 语言 > 浏览器语言重定向,您可以在那里启用 cookie。
常见陷阱
- 已启用多货币但未显示任何货币。在 WPML > 设置 > 多货币 > 货币中,在默认货币之外至少添加一种货币。只有配置的货币才会显示在切换器中。
- 货币切换器简码未呈现任何内容。确认已启用多货币并至少添加了一种货币。如果不存在替代货币,简码将呈现一个空的切换器。
- 针对货币显示了错误的网关。重新检查每种货币的网关设置(在“货币”表格中单击每种货币的“编辑”)。每种货币都会列出可用的网关,并且需要针对每种货币明确启用。
- 客户位置返回错误的货币。此选项使用 MaxMind 许可证密钥进行基于 IP 的检测。GeoIP 数据库偶尔会分类错误。您的托管服务提供商也可能缓存来自 CDN 边缘节点的 IP。请使用全新的浏览器会话进行测试,并确认您的主机传递了真实的访客 IP。
- 价格看起来正确但税费错误。WooCommerce 的按位置计税设置适用于基于货币的价格之上。请在 WooCommerce > 设置 > 税费中单独配置税率类别。
作者:Amir · 最后更新于 2026年7月2日
作者:Amir · 最后更新时间:2026年7月2日