Description
Acest plugin adaugă câmpuri de facturare în limba română la WooCommerce Checkout.
Adaugă câmpuri personalizate pentru legislația română:
PF (Persoană Fizică):
* CNP – validat cu cifra de control
PJ (Persoană Juridică):
* CIF/CUI – validat cu cifra de control (acceptă și prefixul RO)
* Număr de înregistrare la Registrul Comerțului (opțional – parohiile, ONG-urile, asociațiile și instituțiile publice nu au)
* Numărul contului bancar (IBAN)
* Numele băncii
La checkout utilizatorul alege mai întâi tipul de facturare (PF sau PJ), după care sunt afișate doar câmpurile relevante. Câmpurile obligatorii sunt validate atât în browser cât și pe server, inclusiv algoritmic (cifra de control pentru CNP și CIF).
Câmpurile sunt afișate în adresa de facturare sub Numele companiei – pe pagina checkout, pagina de mulțumire, comenzile din admin și e-mailuri. Tipul de facturare (PF/PJ) este afișat și în adminul comenzii.
Puteți modifica aceste câmpuri ca administrator prin comenzi sau ca utilizator din pagina Contul meu.
Checkout clasic și Checkout block
Pluginul funcționează cu ambele tipuri de checkout:
- Checkout clasic (shortcode
[woocommerce_checkout]) – câmpurile apar în adresa de facturare. - Checkout block (WooCommerce 8.9+) – câmpurile apar în secțiunea Contact și sunt salvate în contul clientului. Afișarea condiționată (CIF doar la PJ, CNP doar la PF) necesită WooCommerce 9.9+; pe versiuni mai vechi toate câmpurile sunt vizibile, iar regulile sunt aplicate pe server.
Pentru Checkout block, setați câmpul Companie pe „Opțional” din setările blocului Checkout, altfel persoanele juridice nu pot completa denumirea firmei.
Nr.Reg.Com. obligatoriu
Implicit, Nr.Reg.Com. este opțional. Pentru magazine strict B2B îl puteți face obligatoriu:
add_filter( 'grc_rbf_nrregcom_required', '__return_true' );
Demo:
https://tastewp.com/new?pre-installed-plugin-slug=woocommerce%2Cromanian-billing-fields&redirect=plugins.php&ni=true
Installation
Consultați: https://codex.wordpress.org/Managing_Plugins#Installing_Plugins
După instalare și activare nu este necesară nicio configurare – câmpurile apar automat în checkout.
Reviews
Contributors and Developers
“Romanian billing fields” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Romanian billing fields” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Change Log
** 2.2.0 **
– Adăugat: suport pentru Checkout block prin Additional Checkout Fields API (WooCommerce 8.9+) – selectul PF/PJ, CIF, Nr.Reg.Com., IBAN, Banca și CNP apar în secțiunea Contact
– Adăugat: afișare și obligativitate condiționată în Checkout block (WooCommerce 9.9+)
– Adăugat: validare server-side pentru Checkout block (tip facturare, nume firmă și CIF obligatorii la PJ, cifră de control CNP/CIF)
– Adăugat: datele din Checkout block sunt salvate și în aceleași meta-uri ca la checkout-ul clasic (_persoana, _billing_b_*) – adresa formatată, adminul, e-mailurile și integrările de facturare funcționează identic
– Schimbat: compatibilitatea cu Checkout block este acum declarată (cart_checkout_blocks = true)
– Fix: Nr.Reg.Com. nu mai este obligatoriu pentru PJ – entitățile neînregistrate la ONRC (parohii, ONG-uri, asociații, instituții publice) pot plasa comenzi doar cu CIF
– Adăugat: filtrul grc_rbf_nrregcom_required pentru cine vrea Nr.Reg.Com. obligatoriu
** 2.1.0 **
– Adăugat: label explicit „Nume firma” și placeholder pentru câmpul de companie (înlocuiește label-ul default WooCommerce)
– Adăugat: placeholdere pentru toate câmpurile custom (CIF, Nr.Reg.Com., Cont/IBAN, Banca, CNP)
– Fix: câmpurile CIF, Nr.Reg.Com. și Compania nu mai sunt obligatorii în afara checkout-ului – persoanele fizice își pot salva acum adresa din Contul meu Adrese fără a completa date de firmă
– Fix: câmpul Compania nu mai este obligatoriu pe adresa de livrare (required se propaga din câmpurile default și pe shipping)
– Fix: selectul „tip de facturare” își păstrează valoarea după o eroare de validare la checkout (nu se mai resetează la gol)
– Adăugat: validare algoritmică CNP (13 cifre + cifra de control) și CIF/CUI (cifra de control, cu sau fără prefixul RO) pe server
– Adăugat: tipul de facturare (PF/PJ) este afișat în adminul comenzii, lângă adresa de facturare
– Adăugat: declarată explicit incompatibilitatea cu Checkout block (cart_checkout_blocks = false) – utilizatorii nu mai rămân fără câmpuri fără avertisment
– Îmbunătățit: JS-ul de toggle este acum atașat de scriptul wc-checkout prin wp_add_inline_script și se re-aplică la updated_checkout și după re-randarea formularului
– Îmbunătățit: text domain propriu (grc-romanian-billing-fields) pentru toate stringurile – traducerile se pot încărca corect
– Îmbunătățit: wp_unslash() înainte de wc_clean() la toate citirile din $_POST, plus adnotări PHPCS pentru Plugin Check
– Îmbunătățit: hook-urile se înregistrează pe plugins_loaded cu verificare class_exists('WooCommerce') – funcționează corect și pe multisite cu WooCommerce activat la nivel de rețea
– Adăugat header Requires Plugins: woocommerce (WordPress 6.5+)
** 2.0.0 **
– Versiune majoră – refactorizare completă a codului
– Fix critic: eliminat apply_filters('woocommerce_default_address_fields') din woocommerce_admin_billing_fields care putea crea o buclă recursivă; câmpurile custom sunt acum adăugate direct în filtrul de admin
– Fix: mutat accesul la $_POST['persoana'] din woocommerce_default_address_fields (context generic) în woocommerce_checkout_fields (apelat doar la checkout), eliminând warning-uri PHP în admin și în alte contexte
– Adăugat validare server-side prin woocommerce_checkout_process – câmpul „tip de facturare” este acum verificat și pe server, nu doar în browser
– Salvare explicită a câmpurilor custom prin woocommerce_checkout_order_created folosind $order->update_meta_data() și $order->save() – compatibil complet HPOS
– Îmbunătățit JS: selectorii jQuery sunt acum cacheați în variabile, nu recreați la fiecare apel de funcție
– Adăugat case else hideAll() în JS pentru situația în care utilizatorul revine la opțiunea goală din select
– Actualizat versiune PHP minimă la 7.4 și WC minimă la 7.0.0
** 1.9.7 **
– Fix major compatibilitate WooCommerce: eliminat accesul direct la meta _billing_*
– Înlocuit get_meta() cu getters oficiali WooCommerce (get_billing_*)
– Elimină erorile is_internal_meta_key was called incorrectly
– Compatibilitate mai bună cu WooCommerce 8+ și HPOS
– Îmbunătățiri minore validare input (wc_clean)
** 1.9.6 **
– Diverse îmbunătățiri vizuale
– Suport HPOS
** 1.7.0 **
– Changed from radio buttons to select input PF/PJ
** 1.6.3 **
– Support check
** 1.6.2 **
– Support check
** 1.6.1 **
– Support check
** 1.6 **
– Support check
** 1.5 **
– Fixed admin field show
** 1.4 **
– Fixed input save
** 1.3 **
– Fixed tags
** 1.2 **
– Fixed compatibility with WooCommerce 4.*
** 1.1 **
– Fixed error of get_order
** 1.0 **
– Initial release

