Jalara Studio

Pflichfeld Telefonnummer in ein optionales Feld umwandeln, umbenennen oder entfernen

#


Pflichtfeld Telefonnummer in ein optionales Feld umwandeln

Die PHP-Datei class-wc-countries.php 1 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 b. z. w. 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