Prilikom promjene količine proizvoda na stranici košarice, default je promjena +/- gumbima ili upisivanjem vrijednosti te klikanje na gumb “Ažuriraj košaricu”.

 

Kako bi izbjegli nepotrebno klikanje, u pomoć ćemo pozvati AJAX te će promjena količine proizvoda biti puno jednostavnija. Dodati ćemo i lagani delay kako bi bili sigurni da je korisnik izabrao željenu vrijednost. Također, uklonit ćemo suvišan gumb za ažuriranje košarice.

U ovom snippetu je potrebno dodati mrvicu JS-a i niže je, ISKLJUČIVO ZBOG BOLJE PREGLEDNOSTI, JS dodan na nepravilan način.

add_action( 'wp_footer', 'mx_cart_refresh_update_qty' ); 
 
function mx_cart_refresh_update_qty() {
    if (is_cart()) { 
      
	/* Remove Update cart button since we don't need it anymore */
	echo "<style>button[name='update_cart'], input[name='update_cart'] {display: none !important;}</style>";
	
    ?>
        <script>
            jQuery('div.woocommerce').on('change', '.quantity', function(){ 
            setTimeout(function() {
                jQuery("[name='update_cart']").trigger("click"); 
			 }, 1500 );	
            }); 
        </script>
    <?php
	}
}

Pravilan način za dodavanje JS-a jest registracija skripte pomoću wp_register_script i pozivanje pomoću wp_enqueue_script. Tehnički ovo nije potrebno, ali je preporučeno.

Ako želite ovu funkcionalnost zapakiranu u plugin (koji koristi pravilno pozvan JS 😉 ), možete ga skinuti ovdje:

MX Ajaxify Woo Cart

Plugin za promjenu količine proizvoda pomoću ajaxa (stranica košarice).

Version: 1.0

Odgovori

Vaša email adresa neće biti objavljena. Obavezna polja su označena s *

Post comment