Cum să simplificați tema de vitrină a articolelor gratuite de achiziție

Publicat: 2020-11-03

Vitrina Simplificați achiziția articolelor gratuite În majoritatea magazinelor WooCommerce, clienții cumpără produse și remit plata după ce au trecut la finalizarea comenzii. Mai mult, vor selecta și o metodă de livrare sau vor introduce un cod de cupon pentru a primi o reducere.

Cu toate acestea, dacă oferiți un articol gratuit în magazinul dvs., este posibil să nu aveți nevoie de toate câmpurile la finalizarea comenzii. Aceasta înseamnă că nu veți încasa nicio plată de transport. Ca urmare, este posibil să nu aveți nevoie de detaliile de facturare, doar numele și, probabil, un e-mail.

Vitrina Simplificați achiziția articolelor gratuite

Merită menționat faptul că WooCommerce va elimina în mod util selecția metodei de plată pentru plățile gratuite. Cu toate acestea, câmpurile de facturare sunt încă prezente și sunt necesare pentru a plasa o comandă: detalii de facturare

Dacă vindeți produse virtuale gratuite, cum ar fi abonamentul gratuit, cel mai bine ar fi să simplificați procesul de plată.

Dacă întâmpinați această problemă, este ușor să verificați dacă checkout-ul nu are niciun cost cu cecul WC()->cart->needs_payment(). Voi ilustra cum să folosesc acest lucru pentru a întreprinde câteva acțiuni pentru a simplifica finalizarea gratuită a comenzii WooCommerce dacă nu este necesară nicio plată. Trebuie să eliminăm anumite câmpuri de facturare în mod condiționat.

Permiteți-mi să vă ghidez prin câțiva pași pe care îi puteți urma pentru a simplifica finalizarea gratuită a comenzii și pentru a le pune împreună într-un fragment utilizabil.

Pași pentru a simplifica finalizarea comenzii pentru articole gratuite

  1. Eliminați formularele de cupon

Nu aveți nevoie de un formular de cupon dacă doriți să aveți o casă gratuită, deoarece nu există nimic de reducere. Voi folosi ! WC()->cart->needs_payment() sub formă de cec, care va presupune că totalul plății este de 0 USD, deci nu sunt necesare costuri de transport sau plata comenzii. Pentru a elimina în siguranță introducerea cuponului, trebuie să folosim următorul cod:

 // eliminați formularele de cupon dacă nu doriți un cupon pentru un coș gratuit

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
  1. Dezactivați notele de comandă

Poate doriți să adunați note de comandă pentru o comandă gratuită. Cu toate acestea, principalul lucru pe care încercăm să-l facem este să simplificăm procesul de plată pentru clienții din magazinul dvs. WooCommerce. Voi elimina întreaga secțiune „Informații suplimentare” din finalizarea comenzii. Acest lucru se poate face folosind filtrul woocommerce_enable_order_notes_field, deoarece îl putem seta la false, deci nu există note de comandă.

 // Eliminați notele de comandă „Informații suplimentare”.

add_filter('woocommerce_enable_order_notes_field', '__return_false');
  1. Anulați câmpurile inutile

Deoarece este o comandă gratuită, nu trebuie să debităm un card de credit. Majoritatea câmpurilor de facturare din casă nu sunt necesare. Aceasta înseamnă că trebuie să anulez câmpul de cumpărare de care nu am nevoie. Puteți găsi o listă a câmpurilor de plată în documentația WooCommerce.

 // Anulează câmpurile pe care nu le dorim într-o casă gratuită

funcția unset_unwanted_checkout_fields( $fields ) {

// lista cheilor câmpului de facturare de eliminat

$billing_keys = matrice(

'companie_facturare',

'billing_phone',

„adresa_facturare_1”,

„adresa_facturare_2”,

'billing_city',

'billing_postcode',

'țara facturării',

'billing_state',

);

// anulează fiecare dintre aceste câmpuri nedorite

foreach( $billing_keys ca $key ) {

unset( $fields['facturare'][$key]);

}

returnează $câmpuri;

}

add_filter( 'woocommerce_checkout_fields', 'unset_unwanted_checkout_fields');

Cu toate acestea, puteți alege câmpurile pe care doriți să le eliminați din formularul de finalizare a achiziției.

  1. Adăugarea Codului

Iată pașii pentru adăugarea codului în fișierul functions.php al temei Storefront:

  1. Conectați-vă la site-ul dvs. WordPress și accesați tabloul de bord ca utilizator administrator.
  2. Din meniul Tablou de bord, faceți clic pe Meniu Aspect > Meniu Editor de teme . Când pagina Editor de teme este deschisă, căutați fișierul cu funcții ale temei pentru a simplifica achiziția gratuită a articolelor.
  3. Adăugați următorul cod la funcții. php
 /**

 * Elimină formularul de cupon, notele de comandă și mai multe câmpuri de facturare dacă finalizarea nu necesită plată.

 *

 * NECESITA PHP 5.3+

 *

  */

funcția sv_free_checkout_fields() {

            // în primul rând, eliberează cauțiune dacă WC nu este activ, deoarece suntem cuplati într-un cârlig WP general

            dacă ( ! function_exists( 'WC' ) ) {

                        întoarcere;

            }

            // cauțiune dacă căruciorul are nevoie de plată, nu vrem să facem nimic

            if ( WC()->cart && WC()->cart->needs_payment() ) {

                        întoarcere;

            }

            // continuăm acum doar dacă suntem la casă

            // is_checkout() a fost spart începând cu WC 3.2 în context ajax, verificați de două ori pentru is_ajax

            // Aș verifica WOOCOMMERCE_CHECKOUT, dar testele arată că nu este setat în mod fiabil

            if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_ajax() ) ) {

                        // eliminați formularele de cupon deoarece de ce ați dori un cupon pentru un coș gratuit?

                        remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );

                        // Eliminați notele de comandă „Informații suplimentare”.

                        add_filter('woocommerce_enable_order_notes_field', '__return_false');

                        // Anulează câmpurile pe care nu le dorim într-o casă gratuită

                        add_filter('woocommerce_checkout_fields', function($fields) {

                                    // adăugați sau eliminați câmpurile de facturare pe care nu le doriți

                                    // câmpuri: http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2

                                    $billing_keys = matrice(

                                                'companie_facturare',

                                                'billing_phone',

                                                „adresa_facturare_1”,

                                                „adresa_facturare_2”,

                                                'billing_city',

                                                'billing_postcode',

                                                'țara facturării',

                                                'billing_state',

                                    );

                                    // dezactivează fiecare dintre acele câmpuri nedorite

                                    foreach( $billing_keys ca $key ) {

                                                unset( $fields['facturare'][ $key ] );

                                    }

                                    returnează $câmpuri;

                        });

            }

}

add_action('wp', 'sv_free_checkout_fields');
  1. Când adăugați întregul cod, finalizarea WooCommerce va fi simplificată: checkout simplificat

Concluzie

Pe scurt, v-am ghidat prin pașii simplificării procesului de finalizare a comenzii. Am explicat pașii în detaliu, astfel încât să puteți înțelege codul. Cu toate acestea, trebuie să rețineți că acest articol prezintă modificări de cod sau fragmente pe care le puteți face în fișierul func.php al temelor active. Dacă nu sunteți familiarizat cu această sarcină, vă rugăm să angajați un dezvoltator WordPress.

Articole similare