Aggiungere un codice di sconto al carrello di WooCommerce con AJAX

Aggiungere un codice di sconto al carrello di WooCommerce con AJAX

In WooCommerce possiamo aggiungere un codice di sconto al carrello con AJAX.

Definiamo il seguente codice:


function my_add_to_cart() {
    global $woocommerce;
    $cart_item_data = array();

    $product_id = (int) $_POST['product_id'];
    $quantity = (int) $_POST['quantity'];
    $variation_id = 0;
    $variation = array();
    $coupon_code = $_POST['coupon_code'];

    

    WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation, $cart_item_data );
    if( !empty( $coupon_code ) ) {
      WC()->cart->add_discount( $coupon_code );
    }
    wp_send_json( array( 'ok' => true ) );
}

add_action( 'wp_ajax_my_add_to_cart', 'my_add_to_cart' );
add_action( 'wp_ajax_nopriv_my_add_to_cart', 'my_add_to_cart' );

Il codice di sconto influenza il totale del carrello e viene aggiunto dopo il prodotto (se presente). I codici di sconto sono custom post type che possono essere gestiti tramite l'interfaccia amministrativa di WooCommerce e il cui effetto sul carrello e sull'ordine possono essere impostati proprio tramite tale interfaccia.

Torna su