WPML
Statut
Ouvert
Signalé pour
WPML Multilingual & Multicurrency for WooCommerce 5.3.8
Extension/thème associé
WooCommerce Bookings
Étiquettes de sujet
Bug, Compatibility, WCML

Aperçu de l’anomalie

Lorsque vous utilisez WooCommerce Bookings avec une configuration multidevise et que vous configurez les devises pour qu’elles changent en fonction des pays sélectionnés (sans sélecteur de devise visible), les prix ne s’ajustent pas selon le pays sélectionné lors du processus de validation de commande. Bien que le symbole de la devise change, le prix réel reste fixe, ce qui entraîne des incohérences dans les montants affichés.

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier functions.php de votre thème.

  • Ajoutez l’extrait suivant :
    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 );
    				}
    			}
    		}
    	} );

Toutes les anomalies connues →