Cara Menyederhanakan Tema Toko Barang Gratis Checkout

Diterbitkan: 2020-11-03

Etalase Sederhanakan Barang Gratis Checkout Di sebagian besar toko WooCommerce, pelanggan membeli produk dan mengirimkan pembayaran setelah melanjutkan ke kasir. Selain itu, mereka juga akan memilih metode pengiriman atau memasukkan kode kupon untuk mendapatkan diskon.

Namun, jika Anda menawarkan barang gratis di toko Anda, Anda mungkin tidak memerlukan semua bidang di kasir. Ini berarti Anda tidak akan memungut pembayaran pengiriman apa pun. Akibatnya, Anda mungkin tidak memerlukan detail penagihan, hanya nama, dan mungkin email.

Etalase Sederhanakan Barang Gratis Checkout

Perlu disebutkan bahwa WooCommerce akan membantu menghapus pilihan metode pembayaran untuk pembayaran gratis. Namun, bidang penagihan masih ada dan diperlukan untuk melakukan pemesanan: rincian tagihan

Jika Anda menjual produk virtual gratis, seperti keanggotaan gratis, akan lebih baik untuk menyederhanakan proses pembayaran.

Jika Anda mengalami masalah ini, mudah untuk memeriksa apakah pembayaran tidak dikenakan biaya dengan pemeriksaan WC()->cart->needs_payment(). Saya akan mengilustrasikan bagaimana menggunakan ini untuk mengambil beberapa tindakan untuk menyederhanakan checkout WooCommerce gratis jika tidak diperlukan pembayaran. Kami perlu menghapus beberapa bidang penagihan secara kondisional.

Biarkan saya memandu Anda melalui beberapa langkah yang dapat Anda ambil untuk menyederhanakan checkout gratis dan menggabungkannya menjadi cuplikan yang dapat digunakan.

Langkah-langkah untuk Menyederhanakan Checkout untuk Item Gratis

  1. Hapus Formulir Kupon

Anda tidak memerlukan formulir kupon jika ingin checkout gratis, karena tidak ada yang didiskon. Saya akan gunakan ! WC()->cart->needs_payment() sebagai cek, yang akan mengasumsikan bahwa total pembayaran adalah $0, jadi tidak diperlukan biaya pengiriman atau pembayaran pesanan. Untuk menghapus input kupon dengan aman, kita perlu menggunakan kode berikut:

 // hapus formulir kupon jika Anda tidak ingin kupon untuk keranjang gratis

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
  1. Nonaktifkan Catatan Pesanan

Anda mungkin ingin mengumpulkan catatan pesanan untuk mendapatkan pesanan gratis. Namun, hal utama yang kami coba lakukan adalah menyederhanakan proses checkout untuk pelanggan di toko WooCommerce Anda. Saya akan menghapus seluruh bagian "Informasi Tambahan" dari checkout. Ini dapat dilakukan dengan menggunakan filter woocommerce_enable_order_notes_field, karena kami dapat menyetel ini ke false, sehingga tidak ada catatan pesanan.

 // Hapus catatan pesanan "Info Tambahan"

add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
  1. Hapus Bidang yang Tidak Perlu

Karena ini adalah pesanan gratis, kami tidak perlu membebankan biaya kartu kredit. Sebagian besar bidang penagihan di kasir tidak diperlukan. Ini berarti saya harus menghapus bidang pembelian yang tidak saya perlukan. Anda dapat menemukan daftar bidang checkout di dokumentasi WooCommerce.

 // Hapus bidang yang tidak kita inginkan dalam checkout gratis

fungsi unset_unwanted_checkout_fields( $fields ) {

// daftar kunci bidang penagihan untuk dihapus

$billing_keys = array(

'perusahaan_penagihan',

'tagihan telepon',

'billing_address_1',

'alamat_penagihan_2',

'billing_city',

'billing_postcode',

'negara_penagihan',

'billing_state',

);

// hapus setiap bidang yang tidak diinginkan itu

foreach( $billing_keys sebagai $key ) {

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

}

kembalikan $bidang;

}

add_filter( 'woocommerce_checkout_fields', 'unset_unwanted_checkout_fields' );

Namun, Anda dapat memilih dengan bidang yang ingin Anda hapus dari formulir checkout.

  1. Menambahkan Kode

Berikut langkah-langkah untuk menambahkan kode pada file functions.php dari tema Storefront:

  1. Masuk ke situs WordPress Anda dan akses Dasbor sebagai pengguna admin.
  2. Dari menu Dashboard, klik pada Appearance Menu > Theme Editor Menu . Saat halaman Editor Tema dibuka, cari file fungsi tema untuk menyederhanakan checkout item gratis.
  3. Tambahkan kode berikut ke fungsi. php
 /**

 * Menghapus formulir kupon, catatan pesanan, dan beberapa bidang penagihan jika pembayaran tidak memerlukan pembayaran.

 *

 * MEMBUTUHKAN PHP 5.3+

 *

  */

fungsi sv_free_checkout_fields() {

            // pertama, jaminan jika WC tidak aktif karena kita terhubung ke kait WP umum

            if ( ! function_exists( 'WC' ) ) {

                        kembali;

            }

            // jaminan jika gerobak membutuhkan pembayaran, kami tidak ingin melakukan apa-apa

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

                        kembali;

            }

            // sekarang lanjutkan hanya jika kita sedang checkout

            // is_checkout() rusak pada WC 3.2 dalam konteks ajax, periksa ulang untuk is_ajax

            // Saya akan memeriksa WOOCOMMERCE_CHECKOUT tetapi pengujian menunjukkan bahwa itu tidak disetel dengan andal

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

                        // hapus formulir kupon karena mengapa Anda menginginkan kupon untuk keranjang gratis??

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

                        // Hapus catatan pesanan "Info Tambahan"

                        add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );

                        // Hapus bidang yang tidak kita inginkan dalam checkout gratis

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

                                    // tambah atau hapus bidang penagihan yang tidak Anda inginkan

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

                                    $billing_keys = array(

                                                'perusahaan_penagihan',

                                                'tagihan telepon',

                                                'billing_address_1',

                                                'alamat_penagihan_2',

                                                'billing_city',

                                                'billing_kodepos',

                                                'negara_penagihan',

                                                'billing_state',

                                    );

                                    // hapus setiap bidang yang tidak diinginkan itu

                                    foreach( $billing_keys sebagai $key ) {

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

                                    }

                                    kembalikan $bidang;

                        } );

            }

}

add_action( 'wp', 'sv_free_checkout_fields' );
  1. Saat Anda menambahkan seluruh kode, checkout WooCommerce akan disederhanakan: checkout yang disederhanakan

Kesimpulan

Singkatnya, saya telah memandu Anda melalui langkah-langkah menyederhanakan proses checkout. Langkah-langkahnya sudah saya jelaskan secara detail agar Anda bisa memahami kodenya. Namun, Anda perlu mencatat bahwa artikel ini menampilkan perubahan kode atau cuplikan yang dapat Anda buat di file function.php tema aktif Anda. Jika Anda tidak terbiasa dengan tugas ini, silakan sewa pengembang WordPress.

Artikel Serupa