WooCommerce'de Bazı Durumlar Nasıl Engellenir

Yayınlanan: 2019-07-11

Satacak bir şeyiniz var ama lojistik, yasal veya başka nedenlerle ülkenizdeki her eyalete satmak istemiyor musunuz?

Böyle bir senaryoda, WooCommerce'deki belirli durumları engelleyebilirsiniz.

WooCommerce'de belirli Devletleri engelle

Sattığınız herhangi bir ülkede bazı eyaletleri nasıl engelleyebileceğinizi, kısıtlayabileceğinizi veya izin verebileceğinizi açıklayayım…

Aşağıdaki kod, Amerika Birleşik Devletleri'ndeki eyaletlerin tam listesini gösterir.

Şimdi belirli eyaletlerde satışları engellemek için satmak istemediğiniz eyaletleri silmeniz gerekiyor.

Yani liste yapmak sadece satış yaptığınız eyaletlerden oluşuyor. Bu kadar basit…

 /** * 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; }

Sadece bir Devlete sat

Bu, yukarıdaki kodun bir örneğidir. Diyelim ki taze ürünler satıyorsunuz ve sadece kendi ülkenize satmak istiyorsunuz.

Çünkü meyve, sebze gibi taze ürünler satıyorsunuz ve ülkenin her yerine dağıtmak için uygun bir dağıtım sisteminiz yok.

Diyelim ki bu örnek için California eyaletindensiniz, aşağıdaki kodla California hariç diğer tüm eyaletleri kaldırabilirsiniz.

 // 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; }

Artık müşteriler ödeme sayfasına gittiklerinde, diğer eyaletleri değil, adres açılır seçeneklerinde yalnızca Kaliforniya'yı görecekler.


Devletleri başka bir ülkeden kısıtlama

Bu çözüm sadece Amerika Birleşik Devletleri için değil, Hangi ülkeden olursanız olun, sadece ülke ve eyalet adlarını ve kodlarını değiştirmeniz yeterlidir.

İşte Avustralya örneği

 /** * 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; }

Ülke ve eyalet kodlarınızı bulmanız için hemen hemen her ülke kodunun listesini derledim ve bazı ülkelerin eyaletlerini de buraya ekledim.

PHP KODU NASIL EKLENİR

Kod Parçacıkları eklentisi, web sitenize yalnızca PHP parçacıkları eklemeyi değil, aynı zamanda eklediğiniz tüm parçacıkları yönetmeyi de çok kolaylaştırır.

Belirli snippet'leri etkinleştirebilir ve devre dışı bırakabilir ve hatta ne yaptıkları hakkında notlar ekleyebilirsiniz. PHP hata senaryolarından kaçınmak için daha iyi hata işleme özelliğine sahiptir.

Yüklemek için Eklentiler > Yeni Ekle'ye gidin ve Kod Parçacıklarını arayın.

PHP parçacıklarını temanıza eklemenin geleneksel veya normal yolu, doğrudan temanızın functions.php dosyasına eklemektir.

Ancak, bir alt tema kullandığınızdan emin olun, aksi takdirde temanızı güncellediğinizde tüm değişiklikleri kaybedersiniz.