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

  1. Imię: $fields['billing']['billing_first_name']
  2. Nazwisko: $fields['billing']['billing_last_name']
  3. Firma: $fields['billing']['billing_company']
  4. Kraj/Region: $fields['billing']['billing_country']
  5. Adres linia 1: $fields['billing']['billing_address_1']
  6. Adres linia 2: $fields['billing']['billing_address_2']
  7. Miasto: $fields['billing']['billing_city']
  8. Kod pocztowy: $fields['billing']['billing_postcode']
  9. Stan/województwo: $fields['billing']['billing_state']
  10. Numer telefonu: $fields['billing']['billing_phone']
  11. Adres e-mail: $fields['billing']['billing_email']

Sekcja dostawy (shipping) woocommerce

  1. Imię: $fields['shipping']['shipping_first_name']
  2. Nazwisko: $fields['shipping']['shipping_last_name']
  3. Firma: $fields['shipping']['shipping_company']
  4. Kraj/Region: $fields['shipping']['shipping_country']
  5. Adres linia 1: $fields['shipping']['shipping_address_1']
  6. Adres linia 2: $fields['shipping']['shipping_address_2']
  7. Miasto: $fields['shipping']['shipping_city']
  8. Kod pocztowy: $fields['shipping']['shipping_postcode']
  9. 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ń.

Przewijanie do góry