Checkout Felder: Prüfcode ob Postleitzahl UND Text im Feld steht
-
Hallo, ich bin neu hier (kein Programmierer) und bräuchte bitte mal eure Hilfe.
Was ich machen möchte:
Ich habe zwei Felder dort muss rein: Text und Zahlen.
Straße mit Hausnummer „billing_address_1“ und shipping
Postleitzahl mit Wohnort „billing_city“ und shippingOft vergessen Kunden (habe viele Ältere), wegen der Autovervollständigen-Funktion, das Ganze nachher nochmal zu kontrollieren und mir fehlen wichtige Adressdaten.
So gibt der eine keine Postleitzahl ein, ein Anderer vergisst den Wohnort oder die Hausnummer im Straßenfeld.Ich bräuchte also bestenfalls einen Check von Zahl- und von Texteingabe,
unabhängig voneinander, so dass wenn das Ein oder das Andere fehlt eine dementsprechende Fehlermeldung kommt und „KAUFEN“ solange nicht ausgeführt werden kann.Ich bin schon in diesem und einem anderen Forum weit gekommen, aber es
funktioniert nur mit Zahlen und das mit der PLZ brachte ich bei der Lieferadresse „shipping_city“ leider auch nicht hin. Da kommen nach Code-Änderung immer Fehlermeldungen (File error etc.)
Denn wenn statt der Zahl die Buchstaben vergessen wurde sollte dann auch ein dementsprechender Hinweis ausgegeben werden, selbst wenn die Postleitzahl bereits eingetragen wurde. Zur Zeit funktioniert das nur mit der fehlenden Zahl. Wenn die aber drin steht, wird das Feld schon freigegeben und man kann „KAUFEN“ ohne das der Wohnort (Text) angegeben wurde.Bitte kann mir jemand von Euch Spezialisten den Code vervollständigen?
Ich bendanke mich schon mal im Voraus für die Mithilfe.Dieser Code hier funktioniert in meiner AVADA-Child function.php zur Zeit einwandfrei:
// Prüfung bei WooCommerce ob Hausnummer bei der Adresse eingetragen wurde. add_action(‘woocommerce_checkout_process’, ‘custom_validation_process’); function custom_validation_process() { global $woocommerce; if(isset($_POST[‘billing_address_1’]) and $_POST[‘billing_address_1’] != ”) { if (!preg_match(‘/([0-9]+)/Uis’, $_POST[‘billing_address_1’])) { if(function_exists(‘wc_add_notice’)) wc_add_notice( __(‘Haben Sie die Hausnummer bei der Straße vergessen?’), ‘error’ ); else $woocommerce->add_error( __(‘Haben Sie die Hausnummer bei der Straße vergessen?’) ); } } if(isset($_POST[‘ship_to_different_address’])) { if(isset($_POST[‘shipping_address_1’]) and $_POST[‘shipping_address_1’] != ”) { if (!preg_match(‘/([0-9]+)/Uis’, $_POST[‘shipping_address_1’])) { if(function_exists(‘wc_add_notice’)) wc_add_notice( __(‘Haben Sie die Hausnummer bei der Lieferadresse vergessen?’), ‘error’ ); else $woocommerce->add_error( __(‘Haben Sie die Hausnummer bei der Lieferadresse vergessen?’) ); } } } } // Prüfung bei WooCommerce ob Postleitzahl bei der Adresse eingetragen wurde. add_action( ‘woocommerce_after_checkout_validation’, ‘validate_checkout’, 10, 2); function validate_checkout( $data, $errors ){ if ( ! preg_match(‘/[0-9]/’, $data[ ‘billing_city’ ] ) ){ $errors->add( ‘address’, ‘Haben Sie die Postleitzahl zum Wohnort vergessen?’ ); } }
- Das Thema „Checkout Felder: Prüfcode ob Postleitzahl UND Text im Feld steht“ ist für neue Antworten geschlossen.