Ai un magazin online realizat în Woocommerce și te-ai întrebat cum poți adăuga o taxă în plus la checkout? În acest tutorial vei învăța cum să faci asta, iar mai jos îți voi arăta și codul pentru a adăuga la checkout o taxă de procesare pentru plata ramburs.

Înainte de toate vreau să mă asigur că știi ce este un child theme și că ai un child theme creat și ai acces la fișierul functions.php. Pentru asta te rog apasă aici, citește și apoi revino la acest tutorial, nu îl poți parcurge fără.

Acum că ai în față fișierul functions.php din tema ta, va trebui să copiezi codul de mai jos:

// Funcția prin care adaugi la checkout o taxă pentru clienții care selectează plata ramburs sau prin transfer bancar
add_action( 'woocommerce_cart_calculate_fees', 'custom_handling_fee' );
function custom_handling_fee ( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $chosen_payment_id = WC()->session->get('chosen_payment_method');

    if ( empty( $chosen_payment_id ) )
        return;

    $subtotal = $cart->subtotal;

    // Aici selectezi pentru tipul de plată care este taxa. COD înseamnă Cash On Delivery, adică plata ramburs, iar BACS este plata prin Ordin Bancar. Vom selecta taxa de 5 lei pe fiecare dintre cele 2.

    $targeted_payment_ids = array(
        'cod' => 5, 
        'bacs' => 5,
    );

    // Iterăm prin toate metodele de plată și aplicăm taxa corespunzătoare
    foreach ( $targeted_payment_ids as $payment_id => $fee_cost ) {
        if ( $chosen_payment_id === $payment_id ) {
            $cart->add_fee( __('Taxa de procesare cash', 'woocommerce'), $fee_cost, true );
        }
    }
}

Acum va trebui doar să salvezi fișierul. Dacă ai urmat pașii de mai sus, la Checkout, când vei selecta Transfer Bancar sau plata ramburs, va trebui să vezi ca mai jos:

Articolul Cum pot adăuga automat o taxă în plus la checkout Woocommerce? apare prima dată în WordPress Romania.