Desencadenador de jquery para eliminar el producto del carrito de woocommerce ajax

1 minuto de lectura

Buscando ejecutar jQuery cuando se elimina un producto del carrito en woocommerce. Pensé que esto lo haría, pero no está sucediendo.

¿Algunas ideas?

jQuery( document.body ).on( 'updated_wc_div', function(){
//magic
});

  • Posible duplicado de Ejecutar jQuery después de la actualización del carrito WooCommerce AJAX

    – Dhaval Shah

    2 de enero de 2018 a las 7:20

Avatar de usuario de Avag Sargsyan
Avag Sargsián

También se puede desencadenar updated_cart_totals evento cuando el carrito se ha actualizado. Por lo tanto, puede usar la siguiente solución, ya que no hay un evento global que se active cuando se actualiza el carrito:

jQuery( document.body ).on( 'updated_wc_div', do_magic );
jQuery( document.body ).on( 'updated_cart_totals', do_magic );

function do_magic() {
    // do magic
}

Puede eliminar el producto del carrito usando este código:

principal.js

 $.ajax({
    type: "POST",
    url: 'http://localhost/your_site/wp-admin/admin-ajax.php',
    data: {action : 'remove_item_from_cart','product_id' : '4'},
    success: function (res) {
        if (res) {
            alert('Removed Successfully');
        }
    }
});

funciones.php

function remove_item_from_cart() {
$cart = WC()->instance()->cart;
$id = $_POST['product_id'];
$cart_id = $cart->generate_cart_id($id);
$cart_item_id = $cart->find_product_in_cart($cart_id);

if($cart_item_id){
   $cart->set_quantity($cart_item_id, 0);
   return true;
} 
return false;
}

add_action('wp_ajax_remove_item_from_cart', 'remove_item_from_cart');
add_action('wp_ajax_nopriv_remove_item_from_cart', 'remove_item_from_cart');

  • La pregunta es para generar jQuery acción cuando se elimina cualquier elemento del carrito no como quitar un articulo del carrito.

    – Dhaval Shah

    2 de enero de 2018 a las 7:16


Avatar de usuario de Gopika
Gopika

Proporcione este conjunto de código en su archivo js

jQuery(document.body)
  .on(
    'removed_from_cart updated_cart_totals',
    function() {
      // your code...
    }
  );

¿Ha sido útil esta solución?