Pflichtfeld Telefonnummer in ein optionales Feld umwandeln
Die PHP-Datei class-wc-countries.php1 im Ordner includes des Plugins WooCommerce enthält den PHP-Code für das Plichtfeld Telefonfeld, das an der Kasse (engl. checkout) ausgegeben wird. Die Eigenschaften (z.B. label, required, class) des Feldes, lassen sich mit einer eigenen Funktion, die dem Filter Hook 'woocommerce_billing_fields'
mitgegeben wird, überschreiben.
Folgender Codeschnipsel* wandelt das Plichtfeld Telefonnummer in ein optionales Feld:
function optionales_telefonfeld( $address_fields ) {
$address_fields['billing_phone']['required'] = false;
return $address_fields;
}
add_filter( 'woocommerce_billing_fields', 'optionales_telefonfeld', 10, 1 );
Bezeichnung Telefonnummer umbenennen
Die übersetzten Zeichenketten (engl. strings) in den Sprachdateien des Plugins WooCommerce lassen sich mit dem Filter Hook 'gettext'
2 verändern.
Folgender Codeschnipsel* ersetzt in den jeweiligen Zeichenketten das Wort Telefon bzw. Telefonnummer mit dem Wort Handynummer3, das an der Kasse u.a. über dem Eingabefeld Telefon eingeblendet wird:
function tausche_wort_telefon_mit_handynummer( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Telefon:' :
$translated_text = __( 'Handynummer:', 'woocommerce' );
break;
case 'Telefon' :
$translated_text = __( 'Handynummer', 'woocommerce' );
break;
case 'Telefonnummer.' :
$translated_text = __( 'Handynummer.', 'woocommerce' );
break;
case '%s ist keine gültige Telefonnummer.' :
$translated_text = __( '%s ist keine gültige Handynummer', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'tausche_wort_telefon_mit_handynummer', 20, 3 );
Hinweis: Ersetze die im Codebeispiel verwendeten Worte 'Telefon'
, 'Telefonnumer'
u.s.w, wenn die Strings in den WooCommerce-Sprachdateien von den Übersetzern verändert wurde.4
Alternative: Die deutschen Sprachdateien von WooCommerce (woocommerce-de_DE.mo und woocommerce-de_DE.po), die im Ordner wp-content/languages/plugins/ liegen, können auch mit Plugins wie Loco Translate5 im Backend von WordPress angepasst werden.
Eingabefeld Telefonnummer entfernen
Komplett entfernen lässt sich das Eingabefeld Telefonnummer mit folgendem Codeschnipsel*:
function entferne_feld_telefonnummer($fields) {
unset($fields['billing']['billing_phone']);
$fields['billing']['billing_email']['class'][0] = 'form-row-wide';
return $fields;
}
add_filter('woocommerce_checkout_fields', 'entferne_feld_telefonnummer', 20);
Hinweis: Die Angabe $fields['billing']['billing_email']['class'][0] = 'form-row-wide'
sorgt dafür, dass das Eingabefeld der E-Mail-Adresse, die CSS-Klasse form-row-wide
erhält.
* Füge den Codeschnipsel in die Datei functions.php im Child Theme, in ein seitenspezifisches Plugin oder in das Plugin Theme Customisations6 ein.
Links
- 1↑ GitHub woocommerce/includes/class-wc-countries.php:
- 2↑ Codex Plugin API/Filter Reference/gettext:
- 3↑ kulturbanause Blog WooCommerce-Telefonnummer nicht als Pflichtfeld kennzeichnen – Enricon #comment-517449:
- 4↑ Translating WordPress Projects / Plugins / WooCommerce /Stable (latest release)/ German:
- 5↑ Plugin Loco Translate:
- 6↑ Plugin Theme Customisations:
Buchempfehlung
Anzeige | Affiliate-Link*Wer mehr über Datenschutzrecht, Urheberrecht, Abmahnungen, Haftungsfragen, AGB und die rechtssichere Gestaltung der Shop- und Checkout-Seiten erfahren möchte, dem sei das über 500 Seiten starke Buch Recht für Webshop-Betreiber: Das umfassende Handbuch des IT-Rechtsanwaltes Michael Rohrlich empfohlen, das 2017 im Rheinwerk Verlag erschien.