Sari la conținut
WEBLURE

WooCommerce · Arhitectură WooCommerce

WooCommerce: adăugarea câmpurilor personalizate în Checkout Blocks

Câmpurile adăugate prin hook-uri clasice dispar în checkout cu blocuri. Calea oficială este API-ul pentru câmpuri suplimentare.

  • Additional Checkout Fields API
  • Text, select, checkbox
  • Locații: contact, adresă, comandă
  • Date salvate în comandă
  • Nu hook-uri clasice

Răspuns în aceeași zi lucrătoare Ofertă fixă Fără parole

Vrei să ți-o facem noi?

Doar două câmpuri. Răspundem în aceeași zi lucrătoare, cu ofertă fixă.

+ Telefon și detalii (opțional)

Răspuns rapid

Checkout-ul cu blocuri nu execută hook-urile clasice de câmpuri; API-ul oficial este woocommerce_register_additional_checkout_field, cu tipuri precum text, select și checkbox și locații precum contact, adresă și comandă, descris în documentația dezvoltatorilor Cart/Checkout blocks. Câmpurile se înregistrează în PHP, se validează server-side și valorile se salvează în comandă. Documentația care compară checkout-ul cu blocuri cu cel clasic spune că extensiile care adaugă câmpuri prin hook-uri cer de obicei lucru de integrare.

Ce ai nevoie

  • Lista câmpurilor și locațiile lor
  • Versiune WooCommerce compatibilă
  • Un mediu de test
  • Cunoștințe PHP

Pașii, pe rând

  1. 1Alege locațiaContact (informații de contact), adresă (facturare/livrare) sau comandă (note, preferințe). Locația determină unde apare și cum se salvează.
  2. 2Alege tipul câmpuluiText, select sau checkbox, cu eticheta, obligatoriu sau nu, și opțiunile.
  3. 3Înregistrează câmpulwoocommerce_register_additional_checkout_field, la inițializarea WooCommerce; fragmentul de mai jos arată structura.
  4. 4ValideazăValidare server-side (de exemplu format CUI sau lungime); nu te baza pe JavaScript.
  5. 5Salvează și afișează în comandăValorile se păstrează cu comanda; verifică-le în administrare, emailuri și exporturi.
  6. 6Testează pe telefonCâmpurile trebuie să fie ușor de completat și să nu rupă fluxul.
  7. 7Păstrează compatibilitateaDacă ai nevoie și de checkout clasic, menține o implementare separată pentru acela.

Câmp text în secțiunea de contact (schelet)

php
add_action('woocommerce_init', function () {
    if (!function_exists('woocommerce_register_additional_checkout_field')) return;
    woocommerce_register_additional_checkout_field([
        'id'       => 'magazinul-meu/cui',
        'label'    => 'CUI (opțional)',
        'location' => 'contact',
        'type'     => 'text',
        'required' => false,
    ]);
});

Fragmentele de cod sunt scheleturi: le adaptezi la magazinul tău și le testezi întâi pe un mediu de test (staging). Structura exactă a argumentelor și a locațiilor este cea din documentația API-ului; verifică-o în versiunea ta WooCommerce. Pentru validare și sanitizare adaugă cârligele descrise acolo.

Verifică în documentația dezvoltatorilor numele exacte ale argumentelor pentru versiunea ta; API-ul este mai nou decât hook-urile clasice și poate evolua.

Nu vrei să te complici sau ai rămas blocat? Scrie-ne și o facem noi.

Scrie-ne pe WhatsAppCere ofertă

Mai multe detalii

Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
1

Câmpul nu apare în checkout

De ce: Checkout-ul folosește blocuri, dar câmpul e adăugat prin hook clasic.

Ce faci: Înregistrează-l cu API-ul pentru blocuri.

2

Valoarea nu se salvează

De ce: Locația sau ID-ul nu sunt corecte.

Ce faci: Verifică înregistrarea și locația.

3

Câmpul apare în checkout clasic, dar nu în blocuri

De ce: Cele două sisteme sunt separate.

Ce faci: Implementează ambele dacă folosești ambele.

Întrebări frecvente4 răspunsuri
Mai funcționează woocommerce_checkout_fields?

Hook-urile clasice nu se aplică checkout-ului cu blocuri; folosește API-ul pentru câmpuri suplimentare.

Ce tipuri pot adăuga?

Text, select și checkbox, în locațiile contact, adresă și comandă.

Pot valida câmpul?

Da, server-side, conform documentației API-ului.

Mă ajutați să migrăm câmpurile?

Da. Cere ofertă fixă.