Cum să adăugați pagina de plată a numărului de TVA WooCommerce

Publicat: 2020-12-17

Număr de TVA WooCommerce Checkout Doriți să adăugați un câmp de număr de TVA pe pagina de plată WooCommerce? WooCommerce nu are funcționalitate încorporată pentru a adăuga un câmp de număr de TVA. Cu toate acestea, am creat un script PHP personalizat care va adăuga un câmp TVA pe pagina de finalizare a comenzii și pe pagina contului meu.

Număr de TVA WooCommerce Checkout

Vânzarea produselor în Uniunea Europeană este foarte specifică, mai ales din cauza aspectelor legale. Cu toate acestea, WooCommerce uneori nu ține cont de asta, așa că este necesar să se adapteze magazinul la condițiile europene.

Este esențial ca magazinul dvs. să accepte numărul de identificare TVA pentru emiterea unei facturi. În acest tutorial, veți învăța cum să adăugați un câmp TVA pe pagina de finalizare a comenzii.

Pași pentru adăugarea unui câmp TVA pe pagina de finalizare a achiziției

Iată pașii pe care trebuie să-i urmezi:

  1. Conectați-vă la site-ul dvs. WordPress și accesați tabloul de bord ca utilizator administrator.
  2. Din meniul tabloului de bord, faceți clic pe Meniul Aspect > Meniul Editor de teme . Când pagina editorului de teme este deschisă, căutați fișierul cu funcțiile temei cu extensia functions.php. Deschideți acest fișier cu funcții pentru a adăuga funcția pentru a adăuga un câmp TVA pe pagina de finalizare a comenzii.
  3. Adăugați următorul cod în fișierul functions.php:
 /***************************** ÎN FAȚĂ ******************* ************************/

/****************************

Filtrați pentru a adăuga un câmp TVA la:
- Contul meu - Editați formular -- Câmpuri de facturare
- Finalizare - Editare formular - Câmpuri de facturare
Această funcție reordonează și câmpurile formularului.
***************************/

funcția add_woocommerce_billing_fields($billing_fields){

            //reordonați câmpurile formularului pentru adresa mea de facturare
            $billing_fields2['billing_first_name'] = $billing_fields['billing_first_name'];
            $billing_fields2['billing_last_name'] = $billing_fields['billing_last_name'];

            $billing_fields2['billing_vat'] = matrice(
                        'type' => 'text',
                        'label' => __('număr de TVA', 'keyelp-shop-customization' ),
                        'class' => array('form-row-wide'),
                        „necesar” => fals,
                        „clear” => adevărat
            );
                
            $merged_billing_fields = $billing_fields2 + $billing_fields;


            returnează $merged_billing_fields;

}

add_filter('woocommerce_billing_fields' , 'add_woocommerce_billing_fields');


/*********
Filtre pentru a adăuga TVA atunci când imprimați adresa de facturare pe:
- (1) Contul meu 
- (2) Finalizare - Comandă primită (după finalizarea plății),
+++ Filtre suplimentare pentru a formata ieșirea tipărită.
********/

// (1) Tipărirea adresei de facturare în contul meu

add_filter( 'woocommerce_my_account_my_address_formatted_address', 'njengah_my_account_my_address_formatted_address', 10, 3 );

funcția njengah_my_account_my_address_formatted_address( $fields, $customer_id, $type ) {

            if ( $tip == 'facturare') {
                        $fields['vat'] = get_user_meta( $customer_id, 'billing_vat', true );
            }
            returnează $câmpuri;
}


// (2) Finalizare -- Comanda primită (tipărită după finalizarea plății)

add_filter( 'woocommerce_order_formatted_billing_address', 'njengah_add_vat_formatted_billing_address', 10, 2 );

funcția njengah_add_vat_formatted_billing_address( $câmpuri, $comandă ) {

            $fields['vat'] = $comanda->billing_vat;

            returnează $câmpuri;

}



// Crearea variabilelor TVA de fuziune pentru formatarea tipăririi

add_filter( 'woocommerce_formatted_address_replacements', 'njengah_formatted_address_replacements', 10, 2 );

funcția njengah_formatted_address_replacements( $adresă, $args ) {

            $address['{vat}'] = '';
            $address['{vat_upper}']= '';

            dacă (! gol( $args['vat'] ) ) {
                        $address['{vat}'] = $args['vat'];
                        $address['{vat_upper}'] = strtoupper($args['vat']);
            }

            returneaza $adresa;

}


//Definirea formatării spaniole pentru tipărirea adresei, inclusiv TVA.

add_filter( 'woocommerce_localisation_address_formats', 'njengah_localisation_address_format');

funcția njengah_localisation_address_format( $formate ) {

            $formats['ES'] = "{nume}\n{companie}\n{vat_upper}\n{adresa_1}\n{adresa_2}\n{cod poștal} {oraș}\n{stat}\n{țara} ";

            returnează $formate;

}


/******************************** PAGINA DE PROFIL UTILIZATOR ADMIN **************** ************************/

/****************

Filtrați pentru a adăuga meta-câmpuri pentru client TVA (câmp de profil de utilizator din gruparea adreselor de facturare)

*****************/

add_filter( 'woocommerce_customer_meta_fields', 'njengah_customer_meta_fields' );

funcția njengah_customer_meta_fields( $fields ) {

            $fields['billing']['fields']['billing_vat'] = array(

                        'label' => __( 'număr de TVA', 'njengah' )

            );


            returnează $câmpuri;

}


/**************************** PAGINA COMANDĂ ADMIN ******************* ************************/


/********* 

Filtrați pentru a adăuga TVA la pagina Editați formularul la comandă -- Administrator

*********/

add_filter('woocommerce_admin_billing_fields', 'njengah_admin_billing_fields');

funcția njengah_admin_billing_fields( $fields ) {

            $fields['vat'] = matrice(
                        'label' => __( 'număr de TVA', 'njengah' ),
                        „show” => adevărat
            );

            returnează $câmpuri;

}

/****************

Filtrați pentru a copia câmpul TVA din meta câmpurile Utilizator în formularul Admin Comandă (după ce faceți clic pe butonul dedicat de pe pagina de administrare)

******************/


add_filter( 'woocommerce_found_customer_details', 'njengah_found_customer_details' );

funcția njengah_found_customer_details( $date_client ) {

            $customer_data['billing_vat'] = get_user_meta( $_POST['user_id'], 'billing_vat', true );

            returnează $date_client;

}
  1. Acesta este rezultatul pe front: Câmp de plată TVA
  2. Acesta este rezultatul din partea administratorului: TVA

Concluzie

În rezumat, ați învățat cum să adăugați un câmp de plată cu număr de TVA pe pagina de plată WooCommerce. Recomand să adăugați fragmentele de cod în fișierul functions.php al temei copilului, astfel încât modificările pe care le faceți să nu se piardă în timpul unei actualizări. Fragmentul de cod afișează automat numărul de TVA pe facturile emise.

Articole similare