Sería genial si alguien pudiera ayudarme a deshabilitar la redirección a la página del producto después de hacer clic en los botones del campo de cantidad (+ o -) junto al botón Agregar al carrito en la página de la tienda. La página de la tienda se recarga y redirige a la página del producto si no hago clic en el botón Agregar al carrito lo suficientemente rápido después de ingresar un número o aumentar/disminuir la cantidad. Quiero detener este comportamiento.
Comportamiento esperado: el usuario debe permanecer en la página de la tienda. Sin recarga, sin redirección a la página del producto, pero el contenido real del carrito debe actualizarse al hacer clic en los botones + o -.
Nota: habilité Redirigir a la página de la cesta después de una adición exitosa en wooCommerce> Configuración> Productos> Agregar al comportamiento de la cesta, pero esto no hace nada.
Aquí está el código:
<?php
function quantity_inputs_for_woocommerce_loop_add_to_cart_link($html, $product)
{
if ($product && $product->is_type('simple') && $product->is_purchasable() && $product->is_in_stock() && !$product->is_sold_individually()) {
$html="<form action="" . esc_url($product->add_to_cart_url()) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input(array(), $product, false);
$html .= '<button type="submit" class="button alt">' . esc_html($product->add_to_cart_text()) . '</button>';
$html .= '</form>';
}
return $html;
}
add_filter('woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2);
/**
* Add AJAX support
* Sync quantity field
*/
function tp_quantity_handler()
{
wc_enqueue_js('
jQuery(function($) {
$("form.cart").on("change", "input.qty", function() {
$(this.form).find("button[data-quantity]").attr("data-quantity", this.value);
$.preventDefault();
});
');
wc_enqueue_js('
$(document.body).on("adding_to_cart", function() {
$("a.added_to_cart").remove();
});
});
');
wc_enqueue_js('
$(document.body).on("added_to_cart", function( data ) {
$(".added_to_cart").after("<p class='confirm_add'>Item Added</p>");
});
');
}
add_action('init', 'tp_quantity_handler');
Agradezco cualquier sugerencia. Gracias por adelantado
.