Woocommerce aggiungere un checkbox di condizioni aggiuntive in fase di carrello

 


Utilizzando woocommerce, a volte è necessario, per motivi legali o commerciali, aggiungere un checkbox di condizioni aggiuntive in fase di carrello.


Vediamo un esempio pratico: 



Per ottenere un effetto simile bisogna aggiungere una funzione al template.


Prendiamo quindi il file  functions.php del tema ed incolliamo queste righe:


/**
 * WooCommerce Checkbox checkout
 */
add_action( 'woocommerce_review_order_before_submit', 'condizioni_checkbox', 10 );

function condizioni_checkbox() {
   
    woocommerce_form_field( 'checkout-checkbox', array( 
       'type'          => 'checkbox',
       'class'         => array('form-row condizioni_checkbox'), // CSS Classe
       'label_class'   => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
       'input_class'   => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
       'required'      => true, // RICHIESTO 
       'label'         => 'DIchiaro di essere maggiorenne', // ETICHETTA
    ));    
}


/**
 * Avviso se non selezionato
 */ 
add_action( 'woocommerce_checkout_process', 'condizioni_checkbox_avviso' );

function condizioni_checkbox_avviso() {
    if ( ! (int) isset( $_POST['checkout-checkbox'] ) ) {
        wc_add_notice( __( 'Devi accettare le condizioni.' ), 'error' );
    }
}






Fatto :) 


Naturalmente il sistema di validazione potrebbe non funzionare in base al template o altre classi o funzioni, questo è un canovaccio base, andrà poi adattato in base alle diverse situazioni se necessario.





Commenti