Jak uprościć motyw witryny sklepu z bezpłatnymi przedmiotami w kasie?

Opublikowany: 2020-11-03

Storefront Uprość kasę Darmowe przedmioty W większości sklepów WooCommerce klienci kupują produkty i przekazują płatność po przejściu do kasy. Ponadto wybiorą również metodę wysyłki lub wprowadzą kod kuponu, aby otrzymać zniżkę.

Jeśli jednak oferujesz bezpłatny produkt w swoim sklepie, możesz nie wymagać wszystkich pól przy kasie. Oznacza to, że nie będziesz pobierać żadnych opłat za wysyłkę. W rezultacie możesz nie wymagać szczegółów rozliczeniowych, tylko nazwiska i prawdopodobnie adresu e-mail.

Storefront Uprość kasę Darmowe przedmioty

Warto wspomnieć, że WooCommerce pomoże usunąć wybór metody płatności dla bezpłatnych kas. Jednak pola rozliczeniowe są nadal obecne i wymagane do złożenia zamówienia: Szczegóły płatności

Jeśli sprzedajesz bezpłatne produkty wirtualne, takie jak bezpłatne członkostwo, najlepiej byłoby uprościć proces realizacji transakcji.

Jeśli masz ten problem, możesz łatwo sprawdzić, czy kasa nie ma kosztów za pomocą czeku WC()->cart->needs_payment(). Pokażę, jak to wykorzystać, aby podjąć kilka działań, aby uprościć bezpłatną kasę WooCommerce, jeśli nie jest wymagana żadna płatność. Musimy warunkowo usunąć niektóre pola rozliczeniowe.

Pozwól, że przeprowadzę Cię przez kilka kroków, które możesz wykonać, aby uprościć bezpłatną płatność i złożyć ją w użyteczny fragment.

Kroki, aby uprościć kasę za bezpłatne przedmioty

  1. Usuń formularze kuponów

Nie potrzebujesz formularza kuponu, jeśli chcesz mieć bezpłatną kasę, ponieważ nie ma nic do zniżek. Użyję ! WC()->cart->needs_payment() jako czek, który zakłada, że ​​suma do kasy wynosi 0 USD, więc nie ma żadnych kosztów wysyłki ani płatności za zamówienie. Aby bezpiecznie usunąć dane wejściowe kuponu, musimy użyć następującego kodu:

 // usuń formularze kuponów, jeśli nie chcesz kuponu na darmowy koszyk

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
  1. Wyłącz uwagi dotyczące zamówienia

Możesz chcieć zebrać uwagi dotyczące zamówienia za darmo. Jednak najważniejszą rzeczą, którą staramy się zrobić, jest uproszczenie procesu realizacji transakcji dla klientów w Twoim sklepie WooCommerce. Usunę całą sekcję „Dodatkowe informacje” w kasie. Można to zrobić za pomocą filtra woocommerce_enable_order_notes_field, ponieważ możemy ustawić to na false, więc nie ma żadnych uwag do zamówienia.

 // Usuń uwagi dotyczące zamówienia „Dodatkowe informacje”

add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
  1. Usuń niepotrzebne pola

Ponieważ jest to bezpłatne zamówienie, nie musimy obciążać karty kredytowej. Większość pól rozliczeniowych w kasie nie jest potrzebna. Oznacza to, że muszę rozbroić pole zakupu, którego nie potrzebuję. Listę pól kasy znajdziesz w dokumentacji WooCommerce.

 // Usuń zaznaczenie pól, których nie chcemy w bezpłatnej kasie

function unset_unwanted_checkout_fields( $fields ) {

// lista kluczy pól rozliczeniowych do usunięcia

$ billing_keys = tablica (

„firma_rozliczeniowa”,

„telefon_rozliczeniowy”,

'Adres do faktury 1',

'adres_rozliczeniowy_2',

'miasto_rozliczeniowe',

'billing_postcode',

„kraj_rozliczeniowy”,

'stan rachunku',

);

// odznacz każde z tych niechcianych pól

foreach( $billing_keys jako $klucz) {

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

}

zwróć $pola;

}

add_filter( 'woocommerce_checkout_fields', 'unset_unwanted_checkout_fields' );

Możesz jednak wybrać pola, które chcesz usunąć z formularza zamówienia.

  1. Dodawanie kodu

Oto kroki dodawania kodu w pliku functions.php motywu Storefront:

  1. Zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator.
  2. Z menu Dashboard kliknij menu Wygląd > Menu edytora motywów . Po otwarciu strony edytora motywów poszukaj pliku funkcji motywu, aby uprościć bezpłatne pobieranie elementów.
  3. Dodaj następujący kod do funkcji. php
 /**

 * Usuwa formularz kuponu, uwagi dotyczące zamówienia i kilka pól rozliczeniowych, jeśli płatność nie wymaga płatności.

 *

 * WYMAGA PHP 5.3+

 *

  */

funkcja sv_free_checkout_fields() {

            // po pierwsze, zwolnij kaucję, jeśli WC nie jest aktywne, ponieważ jesteśmy uzależnieni od ogólnego haka WP

            if ( ! function_exists( 'WC' ) ) {

                        powrót;

            }

            // kaucja jeśli koszyk wymaga zapłaty, nie chcemy nic robić

            if ( WC()->koszyk && WC()->koszyk->potrzeby_płatności() ) {

                        powrót;

            }

            // teraz kontynuuj tylko wtedy, gdy jesteśmy przy kasie

            // is_checkout() została uszkodzona od WC 3.2 w kontekście ajax, sprawdź dwukrotnie is_ajax

            // Sprawdziłbym WOOCOMMERCE_CHECKOUT, ale testy pokazują, że nie jest to ustawione niezawodnie

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

                        // usuń formularze kuponów, bo po co chcieć kupon na darmowy koszyk?

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

                        // Usuń uwagi dotyczące zamówienia „Dodatkowe informacje”

                        add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );

                        // Usuń zaznaczenie pól, których nie chcemy w bezpłatnej kasie

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

                                    // dodaj lub usuń pola rozliczeniowe, których nie chcesz

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

                                    $ billing_keys = tablica (

                                                „firma_rozliczeniowa”,

                                                „telefon_rozliczeniowy”,

                                                'Adres do faktury 1',

                                                'adres_rozliczeniowy_2',

                                                'miasto_rozliczeniowe',

                                                'billing_postcode',

                                                „kraj_rozliczeniowy”,

                                                'stan rachunku',

                                    );

                                    // odznacz każde z tych niechcianych pól

                                    foreach( $billing_keys jako $klucz) {

                                                unset( $fields['billing'][ $klucz ] );

                                    }

                                    zwróć $pola;

                        } );

            }

}

add_action( 'wp', 'sv_free_checkout_fields' );
  1. Gdy dodasz cały kod, realizacja zakupu WooCommerce zostanie uproszczona: uproszczona kasa

Wniosek

Podsumowując, przeprowadziłem Cię przez etapy uproszczenia procesu realizacji transakcji. Szczegółowo wyjaśniłem kroki, abyś mógł zrozumieć kod. Należy jednak pamiętać, że ten artykuł zawiera zmiany w kodzie lub fragmenty kodu, które można wprowadzić w pliku function.php z aktywnymi motywami. Jeśli nie znasz tego zadania, zatrudnij programistę WordPress.

Podobne artykuły