WPML
Estado
Abierto
Notificado para
WPML Multilingual & Multicurrency for WooCommerce 5.3.8
Plugin/tema relacionado
WooCommerce Bookings
Etiquetas de temática
Bug, Compatibility, WCML

Resumen del problema

Al usar WooCommerce Bookings con una configuración multimoneda y configurar las monedas para que cambien en función de los países seleccionados (sin un selector de moneda visible), los precios no se ajustan según el país seleccionado durante el proceso de finalizar compra. Aunque el símbolo de la moneda cambia, el precio real se mantiene fijo, lo que causa discrepancias en los importes mostrados.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo functions.php de su tema.

  • Añada el siguiente fragmento:
    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 los problemas conocidos →