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ń.