WPML
Stato
Aperto
Segnalato per
WPML Multilingual & Multicurrency for WooCommerce 5.3.8
Plugin/tema correlato
WooCommerce Bookings
Tag dell’argomento
Bug, Compatibility, WCML

Panoramica del problema

Quando utilizzi WooCommerce Bookings con una configurazione multivaluta e configuri le valute in modo che cambino in base ai paesi selezionati (senza un selettore di valuta visibile), i prezzi non si adeguano in base al paese selezionato durante il processo di checkout. Anche se il simbolo della valuta cambia, il prezzo effettivo rimane fisso, causando discrepanze negli importi visualizzati.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Apri il file functions.php del tuo tema.

  • Aggiungi il seguente 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 );
    				}
    			}
    		}
    	} );

Tutti i problemi noti →