Botón vaciar carrito
-
Ante todo un saludo para todos los colegas del foro, necesito ayuda con algo que de seguro ya habrán escuchado antes, se trata de añadir un botón en el carrito que permita vaciar el mismo, sé que existen plugins y snippets para esto pero en mi caso no quisiera usar plugins, en cuanto a los códigos que he visto permiten vaciar el carrito fácilmente pero sin pedir ninguna confirmación por parte del cliente lo cual no creo que sea correcto, buscando en la red encontré el siguiente código que funciona perfectamente en algunas plantillas pidiendo confirmación tal y como deseo, sin embargo en la plantilla(woodmart) que estoy usando sin importar si le doy aceptar o cancelar pues vacía el carrito de cualquier manera, por favor ayúdenme.
add_action( 'init', 'woocommerce_clear_cart_url' ); function woocommerce_clear_cart_url() { global $woocommerce; if ( isset( $_GET['empty-cart'] ) && $_GET['empty-cart'] == 'yes' ) { $woocommerce->cart->empty_cart(); } } add_action( 'woocommerce_before_cart_table', 'woocommerce_empty_cart_button' ); function woocommerce_empty_cart_button() { global $woocommerce; $cart_url = $woocommerce->cart->get_cart_url(); echo '<a href="'.$cart_url.'?empty-cart=yes" class="button empty_cart" title="' . esc_attr( 'Vaciar Carrito', 'woocommerce' ) . '">' . esc_html( 'Vaciar Carrito', 'woocommerce' ) . '</a>'; } function custom_scripts(){ ?> <script type="text/javascript"> (function($){ $(document).ready(function(){ $(document).on('click','.empty_cart',function(e){ e.preventDefault(); if(confirm('Estás seguro que deseas vaciar el carrito?')){ var url = $(this).attr('href'); window.location = url; } }); }); })(jQuery); </script> <?php } add_action( 'wp_footer', 'custom_scripts', 10, 1 );
- Debes estar registrado para responder a este debate.