Se anche voi volete usare il nuovo checkout di WooCommerce in WordPress e volete aggiungere un supplementoper il pagamento alla consegna, detto anche “Cash on Delivery” allor ail codice di oggi è il seguente.
Create un file functions.php nel vostro child-theme e isnerite questo codice.
add_action( 'woocommerce_cart_calculate_fees', 'aggiungi_o_rimuovi_supplemento_pagamento_alla_consegna', 20, 1 ); function aggiungi_o_rimuovi_supplemento_pagamento_alla_consegna( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) { return; } // Verifica che ci sia un metodo di pagamento selezionato if ( isset( WC()->session->chosen_payment_method ) ) { $metodo_di_pagamento = WC()->session->chosen_payment_method; // Se il metodo di pagamento è "cod" (Pagamento alla consegna), aggiungi il supplemento if ( $metodo_di_pagamento === 'cod' ) { $supplemento = 3.90; // Importo del supplemento $cart->add_fee( __( 'Supplemento pagamento alla consegna', 'text-domain' ), $supplemento ); } } } // Carica lo script JavaScript per forzare il ricalcolo del carrello al cambio metodo di pagamento function carica_js_ricalcolo_supplemento() { if ( is_checkout() ) { wp_enqueue_script( 'ricalcolo-supplemento', get_stylesheet_directory_uri() . '/assets/ricalcolo-supplemento.js', array( 'jquery' ), null, true ); } } add_action( 'wp_enqueue_scripts', 'carica_js_ricalcolo_supplemento' );
Questo codice inserisce un supplemento di € 3.90 ma potete cambiarlo a vostro piacimento.
Qui invece il codice JS da inserire nel vostro child-theme.
jQuery( function( $ ) { // Ascolta il cambiamento del metodo di pagamento $( document.body ).on( 'change', 'input[name="payment_method"]', function() { // Forza il ricalcolo del carrello ogni volta che viene cambiato il metodo di pagamento $( document.body ).trigger( 'update_checkout' ); }); });
Tutto qua!