Torna al blog

Come Precompilare il Campo Email di Fatturazione nella Pagina di Checkout di WooCommerce con il Filtro woocommerce_checkout_get_value

2023-03-122 minuti di lettura

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:

  1. $value (mixed): Il valore corrente del campo del checkout.
  2. $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.