WPML
Status
Resolvido
Relatado para
WPML Multilingual & Multicurrency for WooCommerce 5.5.0
Resolvido em
WPML Multilingual & Multicurrency for WooCommerce 5.5.3

Visão geral do problema

Ao usar a opção multimoeda do WPML Multilingual & Multicurrency for WooCommerce, você pode encontrar o seguinte problema:

Se a opção “Mostrar apenas produtos com preços personalizados em moedas secundárias” estiver ativada, os produtos variáveis não exibem o seletor de moedas, mesmo quando todas as variações têm preços personalizados definidos na moeda secundária.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/plugins/woocommerce-multilingual/inc/currencies/currency-switcher/class-wcml-currency-switcher.php.

  • Procure a linha 353.

  • Substitua:
    			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;
    				}
    			}
            


  • Por:
    			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;
    				}
    			}
            

Todos os problemas conhecidos →