Cum să blocați anumite state în WooCommerce

Publicat: 2019-07-11

Ai ceva de vândut, dar nu vrei să-l vinzi fiecărui stat din țara ta din motive logistice, legale sau de altă natură?

Ei bine, într-un astfel de scenariu puteți bloca doar anumite stări în WooCommerce.

Blocați anumite state în WooCommerce

Permiteți-mi să vă explic cum puteți bloca, restricționa sau permite anumite state din orice țară pe care o vindeți...

Codul de mai jos arată lista completă a statelor din Statele Unite.

Acum, pentru a bloca vânzările în anumite state, trebuie să ștergeți statele pe care nu doriți să le vindeți.

Cu alte cuvinte, a face ca lista să fie compusă numai din statele în care vinzi. Atat de simplu…

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

Vând doar unui singur stat

Acesta este un exemplu de cod de mai sus. Să presupunem că vindeți produse proaspete și doriți să le vindeți numai în statul dvs. de origine.

Pentru că vindeți produse proaspete precum fructe, legume și nu aveți un sistem de livrare adecvat pentru a livra în toată țara.

Să presupunem că sunteți din statul California pentru acest exemplu, cu codul de mai jos puteți elimina orice alt stat, cu excepția Californiei.

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

Acum, când clienții merg la pagina de finalizare a comenzii, ei vor vedea doar California în opțiunile drop-down pentru adrese și nu în alte state.


Restricționați statele din orice altă țară

Această soluție nu este doar pentru Statele Unite, indiferent din ce țară vă aflați, trebuie doar să înlocuiți numele și codurile țărilor și statelor.

Iată un exemplu de 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; }

Am întocmit o listă cu aproape fiecare cod de țară și am inclus și state ale unor țări pentru ca tu să găsești aici codurile de țară și de stat.

CUM SĂ ADĂUGĂ COD PHP

Pluginul Code Snippets face foarte ușor să nu adăugați doar fragmente PHP pe site-ul dvs. web, ci și să gestionați toate fragmentele pe care le adăugați.

Puteți activa și dezactiva anumite fragmente și chiar adăuga note despre ceea ce fac. Are chiar și o mai bună gestionare a erorilor pentru a evita scenariile de eroare PHP.

Pentru a-l instala, pur și simplu accesați Plugin-uri > Adăugați nou și căutați Fragmente de cod .

Modul tradițional sau normal de a adăuga fragmente PHP la tema este să adăugați direct în fișierul functions.php al temei.

Cu toate acestea, asigurați-vă că utilizați o temă secundară, altfel veți pierde toate modificările odată ce vă actualizați tema.