WPML
Status
Aberto
Relatado para
WPML Multilingual & Multicurrency for WooCommerce 5.3.8
Plugin/tema relacionado
WooCommerce Bookings
Tags de tópico
Bug, Compatibility, WCML

Visão geral do problema

Ao usar o WooCommerce Bookings com uma configuração multimoedas e configurar as moedas para mudarem com base nos países selecionados (sem um seletor de moedas visível), os preços não se ajustam de acordo com o país selecionado durante o processo de checkout. Embora o símbolo da moeda mude, o preço real permanece fixo, causando discrepâncias nos valores exibidos.

Solução alternativa

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


  • Abra o arquivo functions.php do seu tema.

  • Adicione o seguinte snippet:
    add_filter( 'woocommerce_checkout_update_order_review', function() {
    		$cartItems = WC()->cart->get_cart();
    
    		if ( is_array( $cartItems ) ) {
    			foreach ( $cartItems as &$cartItem ) {
    				if ( isset( $cartItem['booking'] ) && isset( $cartItem['data'] ) ) {
    					$product                = $cartItem['data'];
    					$product->check_in_cart = false;
    					$calculatedCost         = WC_Bookings_Cost_Calculation::calculate_booking_cost( $cartItem['booking'], $product );
    
    					$cartItem['booking']['_cost'] = $calculatedCost;
    					$cartItem['data']->set_price( $calculatedCost );
    				}
    			}
    		}
    	} );

Todos os problemas conhecidos →