Come Precompilare il Campo Email di Fatturazione nella Pagina di Checkout di WooCommerce con il Filtro woocommerce_checkout_get_value
Il filtro woocommerce_checkout_get_value è un filtro fornito dal plugin WooCommerce per WordPress. Questo filtro ti permette di modificare il valore di un campo del checkout prima che venga visualizzato all'utente durante il processo di checkout.
Il filtro woocommerce_checkout_get_value accetta due parametri:
- $value (mixed): Il valore corrente del campo del checkout.
- $input (string): Il nome del campo del checkout.
/**
* Filtro per modificare i valori dei campi del checkout.
* @param $value
* @param $input
* @return mixed|string
*/
function filter_woocommerce_checkout_get_value( $value, $input ) {
// se il campo è il campo email di fatturazione
if ( 'billing_email' === $input ) {
$current_user = wp_get_current_user();
// se l'utente corrente è loggato, forza l'email ad essere l'email dell'utente corrente
if ( $current_user->ID ) {
// ottieni l'email dell'utente
$value = $current_user->user_email;
}
}
return $value;
}
add_filter( 'woocommerce_checkout_get_value', 'filter_woocommerce_checkout_get_value', 10, 2 );
Nel frammento di codice sopra, controlliamo se il campo del checkout corrente è il campo “billing_email”. Se lo è, la funzione ottiene l'indirizzo email dell'utente corrente loggato e lo imposta come valore del campo “billing_email”. Per gli utenti ospiti, segue il processo predefinito consentendo loro di inserire il campo email di fatturazione.
Questo viene fatto per garantire che l'indirizzo email dell'utente sia correttamente associato all'ordine. Se desideri nascondere il campo di fatturazione e/o renderlo di sola lettura, puoi consultare questo post dove spiego come farlo con il filtro woocommerce_checkout_fields.