Vahina

Pour Vahina, nous avons développé du code permettant d’afficher les économies sur le mini-panier.

Client:

Vahina.ch

				
					if ( ! function_exists( 'shoptimizer_mini_cart_total_discounts' ) ) {
    /**
     *
     */
    function shoptimizer_mini_cart_total_discounts()  {
        global $woocommerce;
        $discount_total = 0;
 
        foreach ($woocommerce->cart->get_cart() as $cart_item_key => $values) {
 
            $_product = $values['data'];
 
            if ($_product->is_on_sale()) {
                $regular_price = $_product->get_regular_price();
                $sale_price = $_product->get_sale_price();
 
                if (empty($regular_price)){ //then this is a variable product
                    $available_variations = $_product->get_available_variations();
                    $variation_id=$available_variations[0]['variation_id'];
                    $variation= new WC_Product_Variation( $variation_id );
                    $regular_price = $variation ->regular_price;
                    $sale_price = $variation ->sale_price;
                }
 
                $discount = ceil(($regular_price - $sale_price) * $values['quantity'] );
                $discount_total += $discount;
            }
 
        }
        if ($discount_total > 0) { ?>
            <p class="woocommerce-mini-cart__total total discounts-total">
                <strong><?php echo esc_html_e( 'Vous économisez', 'shoptimizer' ); ?></strong>
                <span class="woocommerce-Price-amount amount">-<?php echo wc_price($discount_total + $woocommerce->cart->discount_cart); ?></span>
            </p>

			<style>
				.widget_shopping_cart p.total.discounts-total {
					color: green;
					font-size: 13px;
					margin-bottom: -1.2em;
					order: 1;
				}
				.widget_shopping_cart p.total.discounts-total strong {
					font-weight: normal;
				}
				.shoptimizer-mini-cart-wrap .widget_shopping_cart .discounts-total .amount {
					margin: 0;
					font-weight: normal;
					color: green;
				}
				.shoptimizer-mini-cart-wrap .widget_shopping_cart .discounts-total .amount bdi {
					color: green;
				}
				.widget_shopping_cart p.total {
					order: 2;
				}
				.widget_shopping_cart p.buttons {
					order: 3;
				}
				.shoptimizer-mini-cart-wrap .cart-drawer-below {
					order: 4;
				}
			</style>
        <?php }
    }
}

add_action( 'woocommerce_widget_shopping_cart_before_buttons',  'shoptimizer_mini_cart_total_discounts', 10);
				
			

une fonction pratique

Ce code calcule les économies totales réalisées par le client dans le mini-panier, en tenant compte des réductions sur les produits en solde et des remises appliquées au panier.

Il affiche ensuite ces économies de manière claire et attrayante, juste avant les boutons du mini-panier