"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo actualizar dinámicamente el recuento de artículos del carrito de encabezado de WooCommerce usando AJAX?

¿Cómo actualizar dinámicamente el recuento de artículos del carrito de encabezado de WooCommerce usando AJAX?

Publicado el 2024-11-04
Navegar:487

How to Dynamically Update WooCommerce Header Cart Items Count Using AJAX?

Los artículos del carrito de encabezado de Ajaxify cuentan en WooCommerce

Identificación de la necesidad

En temas de WordPress integrados en WooCommerce, actualización del carrito de encabezado Los elementos cuentan sin recargar la página es un desafío común. jQuery ofrece una solución, pero surgen preguntas cuando se pueden agregar artículos en varias cantidades.

Usar AJAX para recuperar el recuento total

Para recuperar dinámicamente el recuento total del carrito desde PHP sesiones usando jQuery, se crea un archivo reloadCart.php para repetir el valor:

cart->get_cart_contents_count();
?>

Implementación de AJAX

Sin embargo, los intentos de realizar llamadas AJAX a este archivo usando las funciones get(), post() o ajax() de jQuery no han tenido éxito. .

Enfoque mejorado

En lugar de depender de una recarga, WooCommerce ofrece un gancho de acción dedicado woocommerce_add_to_cart_fragments que admite Ajax.

Integración HTML

Incruste el recuento de carritos en el encabezado con una ID o clase única:

$items_count = WC()->cart->get_cart_contents_count(); 
?>
    

Código PHP

Implemente el siguiente código en el archivo function.php del tema o en un complemento:

add_filter( 'woocommerce_add_to_cart_fragments', 'wc_refresh_mini_cart_count');
function wc_refresh_mini_cart_count($fragments){
    ob_start();
    $items_count = WC()->cart->get_cart_contents_count();
    ?>
    

Reemplace #mini-cart-count con .mini-cart-count si usa una clase.

jQuery Refresh

Si se actualiza jQuery adicional es obligatorio:

$(document.body).trigger('wc_fragment_refresh');

o

$(document.body).trigger('wc_fragments_refreshed');
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3