WooCommerce:
I have some jQuery that loads on document.ready that effects the quantity input box. Works great.
My issue is that when I update the cart/delete item, the jQuery needs to run again because the AJAX call kills it (refreshes it). Is there some hook/filter I can add that will re-run my script again after a cart update? Ive searched and can't find anything (or maybe I'm not aware of what I am looking for).
Thank you!!!!
The WooCommerce scripts have several custom events built in. Your own script can listen to these events and run your own code when they are triggered. The most obvious one for your case might be updated_cart_totals
but updated_wc_div
might also be helpful, I'm not sure without testing. Tested and works.
$( document.body ).on( 'updated_cart_totals', function(){
//re-do your jquery
});
I also needed to run a function after user removes item from cart, and the above events updated_cart_totals
or updated_wc_div
didn't work for me.
After digging into the Woocommerce frontend code
[/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js]
I found these events:
$(document.body).on('added_to_cart removed_from_cart', do_magic);
These worked like a charm!
In my case I have to add the following:
jQuery(document.body).on('removed_from_cart updated_cart_totals', function () {
location.reload();
});
Because I have a huge customization with js cart submit
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With