←Terug naar het blog

Hoe het factuur-e-mailveld op de WooCommerce-afrekenpagina automatisch in te vullen met de woocommerce_checkout_get_value Filter

2023-03-12‱2 minuten leestijd

De woocommerce_checkout_get_value filter is een filter die wordt geleverd door de WooCommerce-plugin voor WordPress. Deze filter stelt u in staat om de waarde van een afrekenveld te wijzigen voordat deze aan de gebruiker wordt weergegeven tijdens het afrekenproces.

De woocommerce_checkout_get_value filter accepteert twee parameters:

  1. $value (mixed): De huidige waarde van het afrekenveld.
  2. $input (string): De naam van het afrekenveld.
/**
 * Filter om de waarden van afrekenvelden aan te passen.
 * @param $value
 * @param $input
 * @return mixed|string
 */
function filter_woocommerce_checkout_get_value( $value, $input ) {
    // als het veld het factuur-e-mailveld is
    if ( 'billing_email' === $input ) {
        $current_user = wp_get_current_user();
	// als de huidige gebruiker is ingelogd, forceer de e-mail om de e-mail van de huidige gebruiker te zijn
	if ( $current_user->ID ) {
	    // haal de gebruikers-e-mail op
	    $value = $current_user->user_email;
	}
    }

    return $value;
}
add_filter( 'woocommerce_checkout_get_value', 'filter_woocommerce_checkout_get_value', 10, 2 );

In het bovenstaande codefragment controleren we of het huidige afrekenveld het “billing_email” veld is. Zo ja, dan haalt de functie het e-mailadres van de momenteel ingelogde gebruiker op en stelt dit in als de waarde van het “billing_email” veld. Voor gastgebruikers volgt het het standaardproces om hen het factuur-e-mailveld te laten invoeren.

Dit wordt gedaan om ervoor te zorgen dat het e-mailadres van de gebruiker correct aan de bestelling wordt gekoppeld. Als u het factuurveld wilt verbergen en/of alleen-lezen wilt maken, kunt u dit bericht bekijken waar ik uitleg hoe u dit kunt doen met de woocommerce_checkout_fields filter.