wooCommerce_checkout_fields - 20 esempi di codice per personalizzare WooCommerce Checkout

Pubblicato: 2025-07-03

Personalizza il tuo checkout WooCommerce senza plug -in? È possibile: se ti senti a tuo agio con alcune righe di PHP. In questo post, troverai 20 frammenti di codice pronti all'uso utilizzando il filtro woocommerce_checkout_fields . Coprono casi di vita reale come la rimozione dei campi, la ridenominazione di etichette o l'aggiunta di nuove opzioni.

In questo post, è possibile trovare 20 frammenti di codice che possono essere utilizzati per regolare il classico modulo di checkout in WooCommerce.

Se non ti piace la codifica, non preoccuparti, ti mostreremo anche come utilizzare il plug -in Flexible Checkout Fields per ottenere visivamente lo stesso risultato.

Che cos'è la personalizzazione del checkout e come aiuta a migliorare le conversioni?

Il tuo checkout è dove i visitatori diventano clienti. Ma se è ingombra di campi non necessari o manca di flessibilità, può causare attrito. La personalizzazione del checkout aiuta a ridurre l'abbandono, accelerare gli acquisti e creare un'esperienza migliore.

WooCommerce viene fornito con un filtro flessibile: woocommerce_checkout_fields . È possibile utilizzarlo per modificare i campi di fatturazione, spedizione o aggiuntivi. È perfetto per gli sviluppatori che desiderano il controllo sulla visibilità del campo, sull'ordine e sui contenuti.

20 Esempi di codice utilizzando il filtro WooCommerce_Checkout_fields

Di seguito sono riportati 20 esempi. Aggiungi questi frammenti alle functions.php del tema del bambino.php o un plug -in personalizzato.

1. Rimuovere il secondo campo Indirizzo

 // This code allows disabling the second address field. add_filter('woocommerce_checkout_fields','hide_address_2_field_classic_checkout'); function hide_address_2_field_classic_checkout($fields) { unset ($fields['billing']['billing_address_2']); return $fields; }

2. Nascondere il campo del telefono

 // This code allows hiding the phone field add_filter('woocommerce_checkout_fields', 'hide_billing_phone_field_classic_checkout'); function hide_billing_phone_field_classic_checkout($fields) { unset ($fields['billing']['billing_phone']); return $fields; }

3. Rendi opzionale il campo e -mail

 // This code makes the email field optional add_filter('woocommerce_checkout_fields', 'optional_billing_email_field_classic_checkout'); function optional_billing_email_field_classic_checkout($fields) { $fields['billing']['billing_email']['required'] = false; return $fields; }

4. Cambia segnaposto per i campi del nome e cognome

 // This code allows adding the placeholder of the name and last name fields add_filter('woocommerce_checkout_fields', 'add_name_placeholders_classic_checkout'); function add_name_placeholders_classic_checkout($fields) { $fields['billing']['billing_first_name']['placeholder'] = 'Enter your name'; $fields['billing']['billing_last_name']['placeholder'] = 'Enter your surname'; return $fields; }

5. Rinomina "cognome" a "cognome"

 // This code allows changing the last name field's label add_filter('woocommerce_checkout_fields', 'change_last_name_label_classic_checkout'); function change_last_name_label_classic_checkout($fields) { $fields['billing']['billing_last_name']['label'] = 'Surname'; return $fields; });

6. Aggiungi un campo di testo personalizzato

 // This code allows adding a new text field after the email field add_filter('woocommerce_checkout_fields', 'add_custom_text_field_classic_checkout'); function add_custom_text_field_classic_checkout($fields) { $fields['billing']['billing_extra_field'] = [ 'label' => 'Custom text field', 'type' => 'text', 'required' => false, 'priority' => 120, ]; return $fields; }

7. Aggiungi un textarea per le istruzioni di consegna

 // This code allows adding a textarea field after the email field and the custom field from the previous example - with further priority add_filter('woocommerce_checkout_fields', 'add_custom_textarea_field_classic_checkout'); function add_custom_textarea_field_classic_checkout($fields) { $fields['billing']['delivery_instructions'] = [ 'label' => 'Delivery instructions', 'type' => 'textarea', 'required' => false, 'priority' => 130, ]; return $fields; }

8. Imposta la classe CSS personalizzata

 // This code allows adding custom CSS classes to the first and last name fields add_filter('woocommerce_checkout_fields', 'add_custom_css_classes_classic_checkout'); function add_custom_css_classes_classic_checkout($fields) { $fields['billing']['billing_first_name']['class'] = ['form-row-wide primary']; $fields['billing']['billing_last_name']['class'] = ['form-row-wide secondary effect']; return $fields; }

9. Modifica la priorità del campo e -mail

 /* This code allows moving email after the last name field. The default priority for billing fields: billing_first_name (10) billing_last_name (20) billing_company (30) billing_country (40) billing_address_1 (50) billing_address_2 (60) billing_city (70) billing_state (80) billing_postcode (90) billing_phone (100) billing_email (110) */ add_filter('woocommerce_checkout_fields', 'place_email_after_last_name_classic_checkout'); function place_email_after_last_name_classic_checkout($fields) { $fields['billing']['billing_email']['priority'] = 25; return $fields; }

10. Rimuovere il campo postale

 // This code allows disabling the postcode field. add_filter('woocommerce_checkout_fields','disable_postcode_field_classic_checkout'); function disable_postcode_field_classic_checkout($fields) { unset ($fields['billing']['billing_postcode']); return $fields; }

11. Riordinare il nome dopo il cognome

 // This code allows moving the first name field after the last name field add_filter('woocommerce_checkout_fields', 'place_first_name_after_last_name_classic_checkout'); function place_first_name_after_last_name_classic_checkout($fields) { $fields['billing']['billing_first_name'] = array( 'priority' => 22, 'class' => 'form-row-last', 'label' => 'First name', ); $fields['billing']['billing_last_name']['class'] = 'form-row-first'; return $fields; }

12. Aggiungi una casella di controllo per la richiesta di fattura

 // This code allows adding a custom checkbox for invoice request. add_filter('woocommerce_checkout_fields', 'add_custom_checkbox_field_classic_checkout'); function add_custom_checkbox_field_classic_checkout($fields) { $fields['billing']['request_invoice'] = [ 'label' => 'Request invoice', 'type' => 'checkbox', 'required' => false, 'priority' => 140, ]; return $fields; }

13. Aggiungi selezionare il menu a discesa per i tempi di consegna

 // This code allows adding a custom select field add_filter('woocommerce_checkout_fields', 'add_custom_select_classic_checkout'); function add_custom_select_classic_checkout($fields) { $fields['billing']['delivery_time'] = [ 'label' => 'Delivery time', 'type' => 'select', 'options' => [ '' => 'Select...', 'morning' => 'Morning', 'evening' => 'Evening', ], 'priority' => 150, ]; return $fields; }

14. Commenti dell'ordine pre-riempimento

 // This code allows adding a default field value for order notes add_filter('woocommerce_checkout_fields', 'add_default_value_extra_notes_classic_checkout'); function add_default_value_extra_notes_classic_checkout($fields) { $fields['order']['order_comments']['default']= 'No comments'; return $fields; }

15. Aggiungi un campo numerico personalizzato

 // This code allows adding a custom number field add_filter('woocommerce_checkout_fields', 'add_custom_number_field_classic_checkout'); function add_custom_number_field_classic_checkout($fields) { $fields['billing']['number_field'] = [ 'label' => 'Number field', 'type' => 'number', 'validate' => 'number', 'required' => false, 'priority' => 200, ]; return $fields; }

16. Aggiungi un raccoglitore di date

 // This code adds a custom date picker add_filter('woocommerce_checkout_fields', 'add_custom_datepicker_classic_checkout'); function add_custom_datepicker_classic_checkout($fields) { $fields['billing']['pickup_date'] = [ 'label' => 'Pickup date', 'type' => 'date', 'validate' => 'date', 'required' => false, 'priority' => 170, ]; return $fields; }

17. Disabilita la convalida del telefono

 // This code removes the phone field validation add_filter('woocommerce_checkout_fields', 'remove_phone_field_validation_classic_checkout'); function remove_phone_field_validation_classic_checkout($fields) { $fields['billing']['billing_phone']['validate'] = false; return $fields; }

18. Fai apparire il campo di nazione di spedizione

 /* This code allows moving shipping country after the last field. The default priority for shipping fields: shipping_first_name (10) shipping_last_name (20) shipping_company (30) shipping_country (40) shipping_address_1 (50) shipping_address_2 (60) shipping_city (70) shipping_state (80) shipping_postcode (90) */ add_filter('woocommerce_checkout_fields', 'place_country_after_last_field_classic_checkout'); function place_country_after_last_field_classic_checkout($fields) { $fields['shipping']['shipping_country']['priority'] = 999; return $fields; }

19. Rimuovere il campo postale di spedizione

 // This code allows disabling the shipping postcode field. add_filter('woocommerce_checkout_fields','disable_shipping_postcode_field_classic_checkout'); function disable_shipping_postcode_field_classic_checkout($fields) { unset ($fields['shipping']['shipping_postcode']); return $fields; }

20. Aggiungi un campo personalizzato dopo i dettagli dell'ordine

 // This code allows adding a new text field after the order notes add_filter('woocommerce_checkout_fields', 'add_custom_text_field_after_order_notes_classic_checkout'); function add_custom_text_field_after_order_notes_classic_checkout($fields) { $fields['order']['order_extra_field'] = [ 'label' => 'Text field', 'type' => 'text', 'required' => false, 'priority' => 20, ]; return $fields; }

Come personalizzare il checkout senza codificare utilizzando campi di checkout flessibili

Non uno sviluppatore? Nessun problema. Il plug -in Flexible Checkout Fields ti consente di fare tutto quanto sopra - visivamente, dal tuo dashboard WordPress.

  • Aggiungere, rimuovere e riorganizzare i campi con trascinamento
    Riordinare i campi di checkout in wooCommerce
    Riordinare i campi di checkout in wooCommerce
  • Modifica etichette, segnaposto e valori predefiniti
  • Imposta i campi come richiesto, opzionali o nascosti
    Nascondi campi di checkout WooCommerce
    Nascondi campi di checkout WooCommerce
  • Applicare le classi CSS o le regole di convalida
    Convalida sul campo in campi di cassa flessibili per WooCommerce
    Convalida sul campo in campi di cassa flessibili per WooCommerce
  • Scegli la sezione: fatturazione, spedizione o informazioni aggiuntive
  • Assegna i valori predefiniti per il test o gli scopi UX
  • Tutto senza modificare PHP o scrivere codice personalizzato

Risultati senza sovraccarico di sviluppo.

Flexible Checkout Fields Pro - Funzionalità avanzate

Vuoi più potenza e flessibilità? La versione Pro aggiunge funzionalità avanzate:

  • Logica condizionale per i campi di visualizzazione/nascondiglio in base al contenuto del carrello o ai dati dell'utente
  • Supporto per ulteriori tipi di campo: selezionatore di date, raccoglitore orario, radio con colori o immagini e altro ancora
  • Controllo della visibilità per ruoli utente: visualizzare diversi campi per gli utenti B2B e B2C
  • Display sul campo basato sul metodo di spedizione o di pagamento selezionato
  • Prezzo aggiuntivo per impostazioni sul campo

È possibile vedere le funzionalità del plug -in nella sua pagina del prodotto.

Flexible Checkout Fields Pro WooCommerce £ 59

Modifica, aggiungi nuovi campi o nascondi campi non necessari dal modulo di checkout WooCommerce. Aggiungi i prezzi ai campi e usa la logica condizionale. Si tratta di conversioni e una migliore esperienza dell'utente. NUOVO: Ora puoi impostare più condizioni (o) in uno o più gruppi di condizioni (e).

Installazioni attive: 90.000+ | Valutazione WordPress:

Aggiungi al carrello o visualizzare i dettagli
Oltre 90.000 installazioni attive
Ultimo aggiornamento: 2025-06-23
Lavora con WooCommerce 9.6 - 9.9

Riepilogo: quale metodo è il migliore per il tuo checkout?

L'uso di woocommerce_checkout_fields è un modo potente per personalizzare il checkout di WooCommerce, ma richiede un'attenta codifica e test. Inoltre, è necessario occuparsi del codice e degli aggiornamenti del tema.

Se sei sicuro di modificare il tuo tema, i 20 esempi sopra dovrebbero aiutarti a gestire gli scenari più comuni.

Ma per tutti gli altri, i campi di checkout flessibili per il plug-in WooCommerce offrono un'alternativa senza codice e user-friendly con ancora più opzioni nella versione Pro.

Punti chiave

  • Il filtro woocommerce_checkout_fields ti consente di personalizzare il modulo di pagamento con PHP
  • Puoi usarlo per aggiungere, rimuovere, rinominare, riordinare o campi di stile
  • Il plugin Flexible Checkout Fields fa lo stesso, ma senza la necessità di codificare
  • La versione Pro aggiunge logica condizionale, tipi di campo extra e regole dei prezzi dei campi
  • Scegli il metodo adatto al flusso di lavoro: codice per il controllo, plugin per velocità