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