Also habe ich die Anweisungen befolgt von: Verknüpfung um das erforderliche Feld einer Postleitzahl zu ändern.
add_filter( 'woocommerce_billing_fields', 'wc_optional_billing_fields' );
function wc_optional_billing_fields( $address_fields ) {
$address_fields['shipping_postcode']['required'] = false;
return $address_fields;
}
Leider wird kein erforderliches Feld geändert, sondern ein zweites Feld:
Bild
Kann jemand darauf hinweisen, wo das Problem liegt?
Das passiert, weil Sie es verwenden woocommerce_billing_fields
Hook-Filter, der nur verwaltet Abrechnungsfelder Für ein Versand Postleitzahlenfeld…
Sie könnten versuchen, es zu verwenden woocommerce_shipping_fields
Filterhaken, aber es wird nicht funktionieren, weil der Postleitzahl Das Kassenfeld ist ein sehr spezielles Feld Dies kann nur mit der folgenden Hook-Funktion auf „nicht erforderlich“ gesetzt werden:
add_filter( 'woocommerce_default_address_fields', 'customise_postcode_fields' );
function customise_postcode_fields( $address_fields ) {
$address_fields['postcode']['required'] = false;
return $address_fields;
}
Wie Sie sehen, wirkt es auf beide Rechnungs- und Versand-Postleitzahl Felder. Anscheinend ist es nicht möglich, es nur für das Feld „Versandpostleitzahl“ nur für die Felder „Rechnung“ und „Versand“ festzulegen.
Offizielle Dokumentations-Tutorials: Anpassen von Checkout-Feldern mithilfe von Aktionen und Filtern