
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.

