Copio y pego este archivo (global/quantity-input.php) en mi directorio de temas. E hizo estos cambios
`
if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } ?> <div class="quantity"> <input class="minus" type="button" value="-"> <input type="number" step="<?php echo esc_attr( $step ); ?>" min="<?php echo esc_attr( $min_value ); ?>" max="<?php echo esc_attr( $max_value ); ?>" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $input_value ); ?>" title="<?php echo esc_attr_x( 'Qty', 'Product quantity input tooltip', 'woocommerce' ) ?>" class="input-text qty text" size="4" /> <input class="plus" type="button" value="+"> </div>también este código jquery en mi archivo js.
<script type="text/javascript"> jQuery(document).ready(function($){ $('.quantity').on('click', '.plus', function(e) { $input = $(this).prev('input.qty'); var val = parseInt($input.val()); $input.val( val+1 ).change(); }); $('.quantity').on('click', '.minus', function(e) { $input = $(this).next('input.qty'); var val = parseInt($input.val()); if (val > 0) { $input.val( val-1 ).change(); } }); }); </script> funciona bien, pero el problema es que cuando actualizo cualquier producto en la página del carrito ya no funciona. hay algun tipo de solucion? Por favor corrígeme si hice algo mal?
Gracias
Tienes la primera parte correcta. Su código funcionará al cargar una página. Pero además de esto, debe agregar un evento para las llamadas AJAX.
También agregué .off() para que el valor no se agregue varias veces después de cada llamada AJAX.
<script type="text/javascript"> jQuery(document).ajaxComplete(function(){ jQuery('.quantity').off('click', '.plus').on('click', '.plus', function(e) { $input = jQuery(this).prev('input.qty'); var val = parseInt($input.val()); $input.val( val+1 ).change(); }); jQuery('.quantity').off('click', '.minus').on('click', '.minus', function(e) { $input = jQuery(this).next('input.qty'); var val = parseInt($input.val()); if (val > 1) { $input.val( val-1 ).change(); } }); }); </script>