Jak wyłączyć wymagane pola na stronie zamówienia woocommerce
Czasami zachodzi potrzeba wyłączenia, niektórych wymaganych pól na stronie zamówienia. Np. mamy tego typu wysyłkę, że klient nie chce podawać imienia i nazwiska. Albo chce dyskretnie na numer paczkomatu, bez podawania adresu domowego.
Oczywiście możemy zrobić to za pomocą wtyczki Checkout Field Editor, ale jest ona komercyjna i bez corocznych aktualizacji potrafi popsuć zaplecze. Dlatego możemy skorzystać z prostego kodu:
// Zmienia pola imienia i nazwiska na opcjonalne
function wc_make_name_fields_optional( $fields ) {
// Ustawienie pola imienia jako opcjonalne
$fields['billing']['billing_first_name']['required'] = false;
$fields['shipping']['shipping_first_name']['required'] = false;
// Ustawienie pola nazwiska jako opcjonalne
$fields['billing']['billing_last_name']['required'] = false;
$fields['shipping']['shipping_last_name']['required'] = false;
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'wc_make_name_fields_optional' );
Po zastosowaniu tych zmian, pola „imię” i „nazwisko” nie będą już wymagane w formularzu zamówienia na stronie WooCommerce. Oczywiście manipulując polami na stronie zamówienia pamiętajmy, że zmiany mogą naruszać przepisy o ochronie danych osobowych.
W WooCommerce na stronie zamówienia znajduje się wiele innych pól formularza oprócz imienia i nazwiska
. Poniżej podaję listę podstawowych pól dla sekcji płatności (billing) i dostawy (shipping). Oczywiście, pola te mogą ulec zmianie w zależności od dodatków lub modyfikacji wprowadzonych na Twojej stronie.
Sekcja płatności (billing) woocommerce
- Imię:
$fields['billing']['billing_first_name']
- Nazwisko:
$fields['billing']['billing_last_name']
- Firma:
$fields['billing']['billing_company']
- Kraj/Region:
$fields['billing']['billing_country']
- Adres linia 1:
$fields['billing']['billing_address_1']
- Adres linia 2:
$fields['billing']['billing_address_2']
- Miasto:
$fields['billing']['billing_city']
- Kod pocztowy:
$fields['billing']['billing_postcode']
- Stan/województwo:
$fields['billing']['billing_state']
- Numer telefonu:
$fields['billing']['billing_phone']
- Adres e-mail:
$fields['billing']['billing_email']
Sekcja dostawy (shipping) woocommerce
- Imię:
$fields['shipping']['shipping_first_name']
- Nazwisko:
$fields['shipping']['shipping_last_name']
- Firma:
$fields['shipping']['shipping_company']
- Kraj/Region:
$fields['shipping']['shipping_country']
- Adres linia 1:
$fields['shipping']['shipping_address_1']
- Adres linia 2:
$fields['shipping']['shipping_address_2']
- Miasto:
$fields['shipping']['shipping_city']
- Kod pocztowy:
$fields['shipping']['shipping_postcode']
- Stan/województwo:
$fields['shipping']['shipping_state']
Dodatkowo, na stronie zamówienia znajdują się również pola związane z kontem klienta oraz różne pola dotyczące zamówienia (np. pola dotyczące płatności). Te pola są przechowywane w innych tablicach, takich jak $fields['account']
czy $fields['order']
.
W zależności od potrzeb, możesz modyfikować te pola, korzystając z filtrów takich jak woocommerce_checkout_fields
i dostosować je do swoich wymagań.