WPML

问题概述

使用 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;
    	}
    }

所有已知问题