Cara Memblokir Negara Bagian Tertentu di WooCommerce

Diterbitkan: 2019-07-11

Anda memiliki sesuatu untuk dijual tetapi tidak ingin menjualnya ke setiap negara bagian di negara Anda karena alasan logistik, hukum, atau lainnya?

Nah, dalam skenario seperti itu Anda bisa memblokir status tertentu di WooCommerce.

Blokir Negara tertentu di WooCommerce

Mari saya jelaskan, bagaimana Anda dapat memblokir, membatasi, atau mengizinkan beberapa negara bagian di negara mana pun yang Anda jual…

Kode di bawah ini menunjukkan daftar lengkap negara bagian di Amerika Serikat.

Sekarang, untuk memblokir penjualan di negara bagian tertentu, Anda perlu menghapus negara bagian yang tidak ingin Anda jual.

Dengan kata lain, membuat daftar hanya terdiri dari negara bagian tempat Anda menjual. Sederhana seperti itu…

 /** * Sell only in specific states * Remove the states not eligible to purchase * Final list is of states that CAN purchase */ add_filter( 'woocommerce_states', 'wpglorify_restrict_states' ); function wpglorify_restrict_states( $states ) { $states['US'] = array( 'AL' => __( 'Alabama', 'woocommerce' ), 'AK' => __( 'Alaska', 'woocommerce' ), 'AZ' => __( 'Arizona', 'woocommerce' ), 'AR' => __( 'Arkansas', 'woocommerce' ), 'CA' => __( 'California', 'woocommerce' ), 'CO' => __( 'Colorado', 'woocommerce' ), 'CT' => __( 'Connecticut', 'woocommerce' ), 'DE' => __( 'Delaware', 'woocommerce' ), 'DC' => __( 'District Of Columbia', 'woocommerce' ), 'FL' => __( 'Florida', 'woocommerce' ), 'GA' => _x( 'Georgia', 'US state of Georgia', 'woocommerce' ), 'HI' => __( 'Hawaii', 'woocommerce' ), 'ID' => __( 'Idaho', 'woocommerce' ), 'IL' => __( 'Illinois', 'woocommerce' ), 'IN' => __( 'Indiana', 'woocommerce' ), 'IA' => __( 'Iowa', 'woocommerce' ), 'KS' => __( 'Kansas', 'woocommerce' ), 'KY' => __( 'Kentucky', 'woocommerce' ), 'LA' => __( 'Louisiana', 'woocommerce' ), 'ME' => __( 'Maine', 'woocommerce' ), 'MD' => __( 'Maryland', 'woocommerce' ), 'MA' => __( 'Massachusetts', 'woocommerce' ), 'MI' => __( 'Michigan', 'woocommerce' ), 'MN' => __( 'Minnesota', 'woocommerce' ), 'MS' => __( 'Mississippi', 'woocommerce' ), 'MO' => __( 'Missouri', 'woocommerce' ), 'MT' => __( 'Montana', 'woocommerce' ), 'NE' => __( 'Nebraska', 'woocommerce' ), 'NV' => __( 'Nevada', 'woocommerce' ), 'NH' => __( 'New Hampshire', 'woocommerce' ), 'NJ' => __( 'New Jersey', 'woocommerce' ), 'NM' => __( 'New Mexico', 'woocommerce' ), 'NY' => __( 'New York', 'woocommerce' ), 'NC' => __( 'North Carolina', 'woocommerce' ), 'ND' => __( 'North Dakota', 'woocommerce' ), 'OH' => __( 'Ohio', 'woocommerce' ), 'OK' => __( 'Oklahoma', 'woocommerce' ), 'OR' => __( 'Oregon', 'woocommerce' ), 'PA' => __( 'Pennsylvania', 'woocommerce' ), 'RI' => __( 'Rhode Island', 'woocommerce' ), 'SC' => __( 'South Carolina', 'woocommerce' ), 'SD' => __( 'South Dakota', 'woocommerce' ), 'TN' => __( 'Tennessee', 'woocommerce' ), 'TX' => __( 'Texas', 'woocommerce' ), 'UT' => __( 'Utah', 'woocommerce' ), 'VT' => __( 'Vermont', 'woocommerce' ), 'VA' => __( 'Virginia', 'woocommerce' ), 'WA' => __( 'Washington', 'woocommerce' ), 'WV' => __( 'West Virginia', 'woocommerce' ), 'WI' => __( 'Wisconsin', 'woocommerce' ), 'WY' => __( 'Wyoming', 'woocommerce' ), 'AA' => __( 'Armed Forces (AA)', 'woocommerce' ), 'AE' => __( 'Armed Forces (AE)', 'woocommerce' ), 'AP' => __( 'Armed Forces (AP)', 'woocommerce' ), 'AS' => __( 'American Samoa', 'woocommerce' ), 'GU' => __( 'Guam', 'woocommerce' ), 'MP' => __( 'Northern Mariana Islands', 'woocommerce' ), 'PR' => __( 'Puerto Rico', 'woocommerce' ), 'UM' => __( 'US Minor Outlying Islands', 'woocommerce' ), 'VI' => __( 'US Virgin Islands', 'woocommerce' ), ); return $states; }

Jual hanya ke satu Negara

Ini adalah contoh dari kode di atas. Katakanlah Anda menjual produk segar dan hanya ingin menjual ke negara bagian asal Anda.

Karena Anda menjual produk segar seperti buah-buahan, sayuran dan tidak memiliki sistem pengiriman yang tepat untuk dikirim ke seluruh negeri.

katakanlah Anda berasal dari negara bagian California untuk contoh ini, dengan kode di bawah ini Anda dapat menghapus semua negara bagian lain kecuali California.

 // Only one state. example California in the US add_filter( 'woocommerce_states', 'wpglorify_restrict_states' ); function wpglorify_restrict_states( $states ) { $states['US'] = array( 'CA' => __( 'California', 'woocommerce' ), ); return $states; }

Sekarang ketika pelanggan membuka halaman checkout, mereka hanya akan melihat California di opsi drop-down alamat dan bukan negara bagian lain.


Batasi Negara dari negara lain mana pun

Solusi ini tidak hanya untuk Amerika Serikat, Tidak peduli dari negara mana Anda berada, Anda hanya perlu mengganti nama dan kode negara dan negara bagian.

Berikut adalah contoh dari Australia

 /** * list of Australian states to sell */ add_filter( 'woocommerce_states', 'wpglorify_restrict_states' ); function wpglorify_restrict_states( $states ) { $states['AU'] = array( 'ACT' => __( 'Australian Capital Territory', 'woocommerce' ), 'NSW' => __( 'New South Wales', 'woocommerce' ), 'NT' => __( 'Northern Territory', 'woocommerce' ), 'QLD' => __( 'Queensland', 'woocommerce' ), 'SA' => __( 'South Australia', 'woocommerce' ), 'TAS' => __( 'Tasmania', 'woocommerce' ), 'VIC' => __( 'Victoria', 'woocommerce' ), 'WA' => __( 'Western Australia', 'woocommerce' ), ); return $states; }

Saya telah menyusun daftar hampir setiap kode negara dan juga menyertakan negara bagian dari beberapa negara agar Anda dapat menemukan kode negara dan negara bagian Anda di sini.

CARA MENAMBAHKAN KODE PHP

Plugin Cuplikan Kode membuatnya sangat mudah untuk tidak hanya menambahkan cuplikan PHP ke situs web Anda, tetapi juga mengelola semua cuplikan yang Anda tambahkan.

Anda dapat mengaktifkan dan menonaktifkan cuplikan tertentu, dan bahkan menambahkan catatan tentang apa yang mereka lakukan. Bahkan memiliki penanganan kesalahan yang lebih baik untuk menghindari skenario kesalahan PHP.

Untuk menginstalnya, cukup buka Plugins > Add New dan cari Code Snippets .

Cara tradisional atau normal untuk menambahkan potongan PHP ke tema Anda adalah dengan menambahkan langsung ke file functions.php tema Anda.

Namun, pastikan Anda menggunakan tema anak jika tidak, Anda akan kehilangan semua perubahan setelah Anda memperbarui tema.