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:
Plugin za promjenu količine proizvoda pomoću ajaxa (stranica košarice).