- 状态
- 已解决
- 报告针对
- WPML Multilingual & Multicurrency for WooCommerce 5.5.0
- 解决于
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
问题概述
使用 WPML Multilingual & Multicurrency for WooCommerce 的多货币选项时,您可能会遇到以下问题:
如果启用了“仅显示在第二货币中具有自定义价格的产品”选项,可变产品不会显示货币切换器,即使所有变体都已设置第二货币的自定义价格。
临时解决方法
在继续操作之前,请确保为您的站点创建了完整站点备份。
- 打开 …/wp-content/plugins/woocommerce-multilingual/inc/currencies/currency-switcher/class-wcml-currency-switcher.php 文件。
- 找到第 353 行。
- 将:
if ( $product && $product->is_type( 'grouped' ) ) { foreach ( $product->get_children() as $child_id ) { if ( ! $hasOriginalCustomPrices( $child_id ) ) { return false; } } } else { if ( ! $hasOriginalCustomPrices( $currentProductId ) ) { return false; } } - 替换为:
if ( $product && $product->is_type( 'grouped' ) || $product->is_type( 'variable' ) ) { foreach ( $product->get_children() as $child_id ) { if ( ! $hasOriginalCustomPrices( $child_id ) ) { return false; } } } else { if ( ! $hasOriginalCustomPrices( $currentProductId ) ) { return false; } }