So füllen Sie das Feld für die Rechnungs-E-Mail auf der WooCommerce-Checkout-Seite automatisch mit dem woocommerce_checkout_get_value-Filter
Der woocommerce_checkout_get_value-Filter ist ein Filter, der vom WooCommerce-Plugin für WordPress bereitgestellt wird. Dieser Filter ermöglicht es Ihnen, den Wert eines Checkout-Feldes zu ändern, bevor es dem Benutzer während des Checkout-Prozesses angezeigt wird.
Der woocommerce_checkout_get_value-Filter akzeptiert zwei Parameter:
- $value (mixed): Der aktuelle Wert des Checkout-Feldes.
- $input (string): Der Name des Checkout-Feldes.
/**
* Filter zum Ändern der Checkout-Feldwerte.
* @param $value
* @param $input
* @return mixed|string
*/
function filter_woocommerce_checkout_get_value( $value, $input ) {
// wenn das Feld das Rechnungs-E-Mail-Feld ist
if ( 'billing_email' === $input ) {
$current_user = wp_get_current_user();
// wenn der aktuelle Benutzer angemeldet ist, erzwingen Sie, dass die E-Mail die E-Mail des aktuellen Benutzers ist
if ( $current_user->ID ) {
// Holen Sie sich die Benutzer-E-Mail
$value = $current_user->user_email;
}
}
return $value;
}
add_filter( 'woocommerce_checkout_get_value', 'filter_woocommerce_checkout_get_value', 10, 2 );
Im obigen Codeausschnitt prüfen wir, ob das aktuelle Checkout-Feld das Feld „billing_email“ ist. Wenn ja, ruft die Funktion die E-Mail-Adresse des aktuell angemeldeten Benutzers ab und setzt sie als Wert für das Feld „billing_email“. Für Gastbenutzer folgt sie dem Standardprozess, ihnen die Eingabe des Feldes für die Rechnungs-E-Mail zu ermöglichen.
Dies geschieht, um sicherzustellen, dass die E-Mail-Adresse des Benutzers korrekt mit der Bestellung verknüpft ist. Wenn Sie das Rechnungsfeld ausblenden und/oder schreibgeschützt machen möchten, können Sie diesen Beitrag lesen, in dem ich erkläre, wie das mit dem woocommerce_checkout_fields-Filter geht.