La configurazione di default di WooCommerce, non prevede l’inserimento della checkbox della privacy Policy, al momento del checkout.
Per essere a norma con il GDPR è necessario inserire questo campo ed è fondamentale che gli utenti ti diano il consenso alla Privacy Policy (ti consiglio Iubenda per generare una Privacy Policy e Cookie Policy nel modo corretto).
Oppure, potrebbe essere necessario che il cliente riconosca altre condizioni, come per esempio l’accettazione delle condizioni di vendita.
Se l’utente non metterà il flag al campo della Privacy Policy otterrà un errore e non potrà completare l’ordine.
Per fare ciò potremmo anche usare un plugin specifico, ma dato che sono necessarie veramente poche righe di codice, è inutile andare ad appesantire il sistema senza motivo.
Per mostrare il campo inserire questo codice all’interno del file functions.php:
//Aggiungo il campo checkbox
add_action('woocommerce_review_order_before_submit', 'aggiungere_campo_privacy_policy_checkout', 9);
function aggiungere_campo_privacy_policy_checkout() {
woocommerce_form_field( 'privacy_policy', array(
'type' => 'checkbox',
'class' => array('form-row privacy'),
'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,
'label' => 'Accetto le condizioni descritte nella <a href="/privacy-policy">Privacy Policy</a>.',
));
}
Invece, per impostare il controllo sulla validazione del campo inserire questo codice all’interno del file functions.php subito al di sotto del precedente:
//Effettuo il controllo sul campo se l'utente non mette il flag
add_action('woocommerce_checkout_process', 'messaggio_errore_flag_privacy_checkout');
function messaggio_errore_flag_privacy_checkout() {
if ( ! (int) isset( $_POST['privacy_policy'] ) ) {
wc_add_notice( __( 'È necessario accettare il <b>trattamento dei dati personali.</b>' ), 'error' );
}
}
Come funziona il codice?
La prima parte di codice serve semplicemente per inserire il campo checkbox.
Alla riga 12 possiamo modificare il testo che appare in corrispondenza della checkbox e dobbiamo ricordarci di sostituire il link <a href=”/privacy-policy”> con il nostro, ovvero quello che punta effettivamente alla Privacy Policy.
Per esempio: <a href=”/privacy-policy”> se è una pagina interna al nostro sito oppure <a href=”https://iubenda-link-privacy-policy”> se è un link esterno che genera la Privacy Policy.
Nella seconda parte di codice invece, viene effettuato il controllo sul campo, per evitare che, se l’utente non mette il flag, non possa proseguire.
Alla riga 6 possiamo modificare il testo di errore che appare se l’utente non mette il flag.
Avete soluzioni differenti? Commentate e discutiamone insieme!




3 commenti su “WooCommerce: Aggiungere checkbox Privacy Policy checkout”
Ciao, questo metodo registra la data di accettazione privacy?
Ciao Ramil, no, questo codice inserisce solo il campo di accettazione.
Ti conviene usare software come Iubenda o LegalBlink per questo scopo.
Ciao, come posso inserire la due checkbox, una per privacy e l’altra per termini e condizioni?
Grazie