Woocommerce aggiungere campo Codice Fiscale con validazione formale

Un metodo per inserire nella pagina di checkout il campo obbligatorio del Codice Fiscale con un controllo puramente formale via regexp del codice fiscale inserito.

function wooc_field_cf($fields) {

$fields['billing']['billing_cf'] = array(
'label' => __('Codice Fiscale', 'woocommerce'),
'placeholder' => _x('Codice Fiscale', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-last'),
'clear' => false,
'default' => (get_current_user_id() > 0) ? get_user_meta(get_current_user_id(), 'billing_cf', true) : ''
);

return $fields;

}

add_filter('woocommerce_checkout_fields', 'wooc_field_cf');

function wooc_checkout_field_process() {
// Check if set, if its not set add an error.

if ( $_POST['billing_cf'] && preg_match('/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i', $_POST['billing_cf'])) {
//vai avanti
}elseif(!$_POST['billing_cf'] && $_POST['billing_cf'] == '' ){
wc_add_notice( __( 'Codice Fiscale รจ un campo obbligatorio.'), 'error' );
}elseif(!preg_match('/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i', $_POST['billing_cf'])){
wc_add_notice( __( 'Codice Fiscale non valido.'), 'error' );
}

}

add_action('woocommerce_checkout_process', 'wooc_checkout_field_process');

Rispondi