Non so se tutti lo sanno ma il consenso del checkbox “accesso i termini e condizioni di servizio” non viene registrato nel database, inibisce solo la conclusione del processo.
E’ possibile registrare il dato attraverso un piccolo snipped di codice consigliato dagli sviluppatori woocommerce, eccolo qui:
// 1. Save T&C as Order Meta
add_action( 'woocommerce_checkout_update_order_meta', 'bbloomer_save_terms_conditions_acceptance' );
function bbloomer_save_terms_conditions_acceptance( $order_id ) {
if ( $_POST['terms'] ) update_post_meta( $order_id, 'terms', esc_attr( $_POST['terms'] ) );
}
Questo invece vi consente di visualizzare il dato nella pagina di riepilogo ordine nell’area riservata:
add_action( 'woocommerce_admin_order_data_after_billing_address', 'bbloomer_display_terms_conditions_acceptance' );
function bbloomer_display_terms_conditions_acceptance( $order ) {
if ( get_post_meta( $order->get_id(), 'terms', true ) == 'on' ) {
echo '<p><strong>Termini e condizioni: </strong>accettati</p>';
} else echo '<p><strong>Termini e condizioni: </strong>N/A</p>';
}
Questo invece vi consente di visualizzare il dato nella mail che arriva al cliente quando conclude il processo di acquisto:
add_action( 'woocommerce_email_before_order_table', 'bbloomer_add_content_specific_email', 20, 4 );
function bbloomer_add_content_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
if ( $email->id == 'customer_processing_order' || $email->id == 'new_order' || $email->id == 'customer_on_hold_order') {
if ( get_post_meta( $order->get_id(), 'terms', true ) == 'on' ) {
echo '<p><strong>Termini e condizioni: </strong>accettati</p>';
} else echo '<p><strong>Termini e condizioni: </strong>N/A</p>';
}
}
Tutti questi snipped vanno inseriti nella pagina functions.php del vostro tema
Snippet trovati su: www.businessbloomer.com