Incrémenter le prix en fonction de la quantité d’un produit

Le code permet d’afficher un montant total qui affiche le prix par unité multiplié par la quantité que le client va sélectionner.
Cela fonctionne si c’est un produit variable ou un produit simple !

				
					/******************************************************/
/* Afficher le prix en fonction de la quantité produit */
/******************************************************/
function action_woocommerce_before_add_to_cart_button() {
    global $product;

    $currency = get_woocommerce_currency_symbol();

    // Initialisez le sous-total pour les produits simples
    $initialSubtotal = $product->is_type('simple') ? ('Total: ' . $product->get_price() . $currency) : '';
    
    echo '<div id="subtotal" style="'. ($product->is_type('simple') ? '' : 'display:none;') .'"><span>' . $initialSubtotal . '</span></div>';
    
    wc_enqueue_js( "      
        var currentPrice = " . ($product->is_type('simple') ? $product->get_price() : 0) . ";

        // Si c'est un produit variable
        if ( $('.variations_form').length ) {
            $(document).on('found_variation', '.variations_form', function(event, variation) {
                currentPrice = variation.display_price;
                updateSubtotal();
                $('#subtotal').show();
            });

            $(document).on('reset_data', '.variations_form', function() {
                $('#subtotal').hide();
            });
        }

        $( '[name=quantity]' ).on( 'input change', function() {
            updateSubtotal();
        }).change();

        function updateSubtotal() {
            var qty = $( '[name=quantity]' ).val();
            var price_string = ( currentPrice * qty ).toFixed(2);
            
            if ( qty >= 1 ) {
                $( '#subtotal > span').html( 'Total: ' + price_string + \"" . esc_js( $currency ) . "\" );
            } else {
                $( '#subtotal > span').html( '' );                
            }
        }
    " );
}
add_action( 'woocommerce_after_add_to_cart_form', 'action_woocommerce_before_add_to_cart_button', 10, 0 );
				
			
Envie de laisser un commentaire ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Tu veux voir d'autres bouts de code ?

Afficher le poids total des produits dans le panier et commande

Ce code va nous permettre d'afficher le poids total des produits dans la page panier et commande de WooCommerce

ID de CSS personnalisé pour Elementor nested tabs

Ce script nous permettra d'exécuter une URL directement vers un onglet Elementor

Statistiques des commandes WooCommerce par pays

Ce plugin vous permet d'afficher rapidement les volumes de vente en fonction des pays.

Créer un menu déroulant d’une liste de Custom Post Type

Ce code va nous permettre d'afficher un menu déroulant qui liste tous les CPT présents dans notre ACF

Filtrer le nombre de commandes par pays

Mettre en place un sous menu qui nous permet de filtrer une plage de date et afficher le nombre de commandes en fonction des pays.

Incrémenter le prix en fonction de la quantité d’un produit

Ce code vous permettra de faire grossir le prix total de la fiche produit en fonction de la quantité selectionnée
ON DISCUTE ?

Une question sur WordPress ?
Un projet web à faire sous traiter par un freelance ?
Je suis votre homme !