Email adalah salah satu maklumat yang sering diperlukan ketika membuat belian di atas talian. Sistem eDagang seperti WooCommerce, biasanya akan meletakkan ruang eMail sebagai ruang yang wajib diisi sebelum pembeli membuat bayaran. Tapi, sejak kebelakangan ini, den dapati ramai juga pemilik perniagaan yang meminta agar ruangan eMail ini tidak diwajibkan kepada pembeli.
Adakah anda salah seorang dari pemilik website WooCommerce yang mahu ruangan eMail tidak lagi diwajibkan? Jika anda jawab “Ya”, post ini untuk anda. Teruskan membaca.
Dalam perkongsian Tip Pantas WordPress hari ini, den nak kongsikan Cara Mengubah Keperluan Email Field Dalam WooCommerce Checkout.
Tetapan Asal Email Field Dalam WooCommerce Checkout
Secara amnya, setiap halaman WooCommerce Checkout mewajibkan kemasukan maklumat di dalam ruangan Email. Jika anda lihat mana mana halaman “Checkout” WooCommerce, ia akan kelihatan seperti berikut.
Anda tak mahu mewajibkan ruangan Email di dalam Halaman WooCommerce Checkout? Anda ada 3 pilihan:
- Buang Terus Ruangan Email
- Sembunyikan Ruangan Email Dari Paparan
- Jadikan Ruangan Email itu tidak wajib diisi
Pasang Plugin Code Snippets
Ketiga tiga perkara yang den sebutkan di atas itu, akan anda capai menggunakan kod Php yang den kongsikan. Sebelum den berikan kod tersebut, anda perlu terlebih dahulu install satu plugin – Code Snippets. Plugin ini akan membolehkan anda menggunakan kod yang den kongsikan di sini.
Ini adalah 3 kod Php yang den akan kongsikan kepada anda.
Kod Untuk Buang Terus Ruangan Email Dari WooCommerce Checkout
Sebelum anda membuat keputusan untuk membuang terus Ruangan Email dari WooCommerce Checkout, anda perlu pastikan terlebih dahulu yang fungsi “Payment Gateway” anda boleh digunakan tanpa maklumat email.
Den dah cuba dengan dua “Payment Gateway” – ToyyibPay dan BillPlz. ToyyibPay akan menghasilkan “Error” jika Ruangan Email ini dibuang terus. BillPlz tiada masalah. “Payment gateway” lain, den tak sempat nak test. Kalau anda sempat nak test, kongsikanlah keputusannya di dalam ruangan komen nanti. Terima Kasih.
Kod yang den kongsikan di sini akan membuang terus ruangan Email dari Halaman WooCommerce Checkout. Anda boleh kopi pasta kod berikut terus ke dalam Code Snippet anda.
/** This function is used for remove email field from the checkout @name _custom_checkout_fields @param array $address_fields array of the address fields */ function _custom_checkout_fields( $address_fields ) { unset( $address_fields['billing']['billing_email'] ); return $address_fields; } add_filter( 'woocommerce_checkout_fields', '_custom_checkout_fields' ,20, 1 );
Namakan Script mengikut kesesuaian anda. Den namakan script sebagai “WooCommerce: Remove eMail Field From Checkout“.
Dibawah ruangan “Code” anda ada beberapa pilihan yang boleh di pilih. Ia menentukan di mana Javascript ini akan dijalankan. Oleh kerana script ini hanya diperlukan ketika membuat belian, aktifkan “Only run on site front-end“.
Anda boleh isikan ruangan “Description” dan “Tags” mengikut kesesuaian. Den biarkan kosong jer.
Klik butang “Save Changes and Activate“. Kod ini telah pun aktif.
Halaman WooCommerce Checkout anda akan kelihatan seperti berikut:
Kod untuk sembunyikan Ruangan Email dari Paparan Dalam WooCommerce Checkout
Kaedah ini hanya akan menyembunyikan Ruangan Email dari paparan. Ruangan tersebut masih lagi ada dan mempunyai kandungan yang telah ditetapkan melalui kod.
Penggunaan kaedah ini sesuai digunakan sekiranya anda menggunakan “Payment Gateway” yang memerlukan data dari Ruangan Email seperti ToyyibPay.
Di dalam kaedah ini, den akan meletakkan nilai “[email protected]” ke dalam Ruangan Email. Anda patut tukar tetapan email ini mengikut kesesuaian website anda. Seeloknya anda buat satu akaun gmail untuk menerima segala email dari WooCommerce.
Den juga menetapkan Ruangan Email sebagai “readOnly” supaya ia tidak boleh diubah.
Den menyembunyikan Ruangan Email menggunakan fungsi style.display = none. Kalau nak sembunyi guna CSS pun memang boleh, tapi alang alang dah guna Javascript untuk tetapkan nilai email tuh, den buat terus la “styling” kat dalam Javascript sama. Senang nak manage – satu tempat jer.
So kalau anda nak main sembunyi sembunyi Ruangan Email, kopi pasta kod berikut ke dalam Snippet yang baharu dalam Code Snippets anda.
function woocommerce_change_checkout_field_value() { echo "document.getElementById('billing_email').value = '[email protected]'; document.getElementById('billing_email').readOnly = 'true'; document.getElementById('billing_email_field').style.display = 'none'; "; } add_action( 'woocommerce_after_checkout_form', 'woocommerce_change_checkout_field_value');
Namakan Script mengikut kesesuaian anda. Den namakan script sebagai “WooCommerce: Hide Email Field At Checkout“.
Dibawah ruangan “Code” anda ada beberapa pilihan yang boleh di pilih. Ia menentukan di mana kod ini akan dijalankan. Oleh kerana script ini hanya diperlukan ketika membuat belian, aktifkan “Only run on site front-end“.
Anda boleh isikan ruangan “Description” dan “Tags” mengikut kesesuaian. Den biarkan kosong jer.
Klik butang “Save Changes and Activate“. Kod ini telah pun aktif.
Halaman WooCommerce Checkout anda akan kelihatan seperti berikut:
Dari paparan anda boleh lihat, Ruangan Email tidak kelihatan, tapi ia masih wujud di dalam kod halaman.
Sekali lagi den tekankan, kalau anda gunakan ToyyibPay, kaedah ini sesuai untuk anda. Melainkan anda boleh minta ToyyibPay supaya menjadikan Ruangan Email dalam WooCommerce Checkout itu sebagai pilihan.
Kod untuk jadikan Ruangan Email Tidak Wajib Diisi Dalam WooCommerce Checkout
Kaedah terakhir ini akan membuatkan Ruangan Email dalam WooCommerce Checkout tidak wajib diisi. Ianya sesuai sangat sekiranya anda nak pembeli sendiri yang membuat keputusan nak masukkan email atau tidak.
Cumanya, kaedah ini juga tidak sesuai untuk “Payment Gateway” yang memerlukan maklumat email seperti ToyyibPay. Kalau pembeli tak masukkan email, akan ada “Error” pula nanti.
So, jika anda berminat dengan kaedah ini, kopi pasta kod berikut ke dalam Snippet yang baharu.
add_filter( 'woocommerce_billing_fields', 'ts_unrequire_wc_email_field'); function ts_unrequire_wc_email_field( $fields ) { $fields['billing_email']['required'] = false; return $fields; }
Namakan Script mengikut kesesuaian anda. Den namakan script sebagai “WooCommerce: Set Email Field Optional At Checkout“.
Dibawah ruangan “Code” anda ada beberapa pilihan yang boleh di pilih. Ia menentukan di mana Javascript ini akan dijalankan. Oleh kerana script ini hanya diperlukan ketika membuat belian, aktifkan “Only run on site front-end“.
Anda boleh isikan ruangan “Description” dan “Tags” mengikut kesesuaian. Den biarkan kosong jer.
Klik butang “Save Changes and Activate“. Kod ini telah pun aktif.
Halaman WooCommerce Checkout anda akan kelihatan seperti berikut:
Ruangan Email dalam WooCommerce Checkout anda sekarang telah menjadi “Optional”. Berhati hati menggunakan kaedah ini kerana ia mungkin akan menyebabkan “Error” sekiranya anda menggunakan “Payment Gateway” yang memerlukan maklumat email.
Tetapan WooCommerce Jika Email Tidak Digunakan Atau Tidak Diwajibkan
WordPress dan WooCommerce menggunakan email sebagai salah satu tetapan dalam pembinaan akaun pengguna. Oleh kerana maklumat eMail tidak lagi diwajibkan, maka ada baiknya Tetapan WooCommerce berkaitan pembinaan akaun pengguna tidak diaktifkan.
Hanya pilih tetapan “Allow customers to place orders without an account” sahaja di dalam ruangan “Accounts & Privacy“
Selain itu, anda juga perlu ubah tetapan tetapan berkaitan penghantaran email kepada pelanggan dalam ruangan “Emails“
Anda perlu tekan butang “Manage” dan “Disable” setiap email kepada “Customer“. Ini untuk mengelakkan WooCommerce menghantar email kepada pembeli.
Rumusan Dan Ringkasan
Baiklah, den dah kongsikan 3 Cara Mengubah Keperluan Email Field Dalam WooCommerce Checkout. Setiap satu kaedah itu memenuhi keperluan masing masing. Anda boleh pillih salah satu kaedah yang sesuai dengan keperluan anda.
Den nak ingatkan sekali lagi, maklumat email itu adalah keperluan asas dalam sistem asal WooCommerce dan WordPress. Dari apa yang den sempat godek untukperkongsian ini, den rasa den dah rangkum segala keperluan untuk sistem WooCommerce tanpa Email.
Cumanya, kalau website anda ada menggunakan plugin yang memerlukan email pelanggan, anda mungkin akan melihat masalah lain muncul.
So, pada den, ada baiknya anda buat tetapan ini di dalam staging website terlebih dahulu.
Boleh anda kongsikan kenapa anda tak perlukan email pelanggan dalam perniagaan anda? Anda tak buat eMail Marketing ke?