Actualizar cantidad de productos en el carrito con Ajax

¿Te gustaría lograr ese efecto de que cuando agregues un producto al carrito este se actualice? Bueno aquí te muestro como realizarlo, es super sencillo.

Lo primero es crear nuestro botón con nuestro icono de carrito y mandar llamar los datos actuales del carrito.

<?php 
    $cantProductos = WC()->cart->cart_contents_count; // Cantidad de productos a pagar 
    $totalPagar = WC()->cart->get_cart_total(); // Cantidad a pagar
    $urlCarrito =  wc_get_cart_url(); // Obtenemos la url del carrito
    // IMPORTANTE 
    // No olvides agregarle un identificador a nuestro botón 
?> 
<a href="<?php echo $urlCarrito;  ?>" id="carrito"><i class="fas fa-shopping-cart"></i> <?php echo $cantProductos . ' - ' .  $totalPagar;  ?></a>

Ahora hay que copiar este fragmento en nuestro archivo de functions.php

<?php add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_marcode_add_to_cart' );

function woocommerce_marcode_add_to_cart( $fragments) {
    global $woocommerce;
    ob_start();

    $cantProductos = WC()->cart->cart_contents_count; // Cantidad de productos a pagar
    $totalPagar = WC()->cart->get_cart_total(); // Cantidad a pagar
    $urlCarrito =  wc_get_cart_url(); // Obtenemos la url del carrito

    //Le decimos que nos devuelva el mismo botón. La diferencia es que los datos ya vendrán actualizados.
  ?>
     <a href="<?php echo $urlCarrito;  ?>" id="carrito"><i class="fas fa-shopping-cart"></i> <?php echo $cantProductos . ' - ' .  $totalPagar;  ?></a>
  <?php
    //Aquí es donde le decimos a cual botón nos estamos refiriendo por medio de nuestro ID
    $fragments['a#carrito'] = ob_get_clean();
    return $fragments;
}

Deja un comentario

Share This