Come bloccare determinati stati in WooCommerce

Pubblicato: 2019-07-11

Hai qualcosa da vendere ma non vuoi venderlo a tutti gli stati del tuo paese per motivi logistici, legali o di altro tipo?

Bene, in uno scenario del genere puoi semplicemente bloccare determinati stati in WooCommerce.

Blocca alcuni stati in WooCommerce

Lascia che ti spieghi come puoi bloccare, limitare o consentire ad alcuni stati in qualsiasi paese che vendi...

Il codice seguente mostra l'elenco completo degli stati negli stati uniti.

Ora, per bloccare le vendite in determinati stati, devi eliminare gli stati che non vuoi vendere.

In altre parole, fare l'elenco è composto solo dagli stati in cui vendi. Semplice come quella…

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

Vendi a un solo Stato

Questo è un esempio del codice sopra. Diciamo che stai vendendo prodotti freschi e desideri venderli solo nel tuo stato di origine.

Perché stai vendendo prodotti freschi come frutta e verdura e non hai un sistema di consegna adeguato per consegnare in tutto il paese.

supponiamo che tu sia dello stato della California per questo esempio, con il codice seguente puoi rimuovere tutti gli altri stati tranne la 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; }

Ora, quando i clienti accedono alla pagina di pagamento, vedranno solo la California nelle opzioni a discesa degli indirizzi e non in altri stati.


Limita gli Stati di qualsiasi altro paese

Questa soluzione non è solo per gli Stati Uniti, indipendentemente dal paese in cui ti trovi, devi solo sostituire i nomi e i codici di paese e stato.

Ecco un esempio dell'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; }

Ho compilato l'elenco di quasi tutti i codici paese e ho incluso anche gli stati di alcuni paesi affinché tu possa trovare qui i codici paese e stato.

COME AGGIUNGERE IL CODICE PHP

Il plug-in Code Snippets semplifica non solo l'aggiunta di frammenti di PHP al tuo sito Web, ma anche la gestione di tutti gli snippet che aggiungi.

Puoi attivare e disattivare determinati frammenti e persino aggiungere note su ciò che fanno. Ha anche una migliore gestione degli errori per evitare gli scenari di errore PHP.

Per installarlo, vai semplicemente su Plugin > Aggiungi nuovo e cerca Frammenti di codice .

Il modo tradizionale o normale per aggiungere frammenti di PHP al tuo tema consiste nell'aggiungerli direttamente nel file functions.php del tuo tema.

Tuttavia, assicurati di utilizzare un tema figlio, altrimenti perderai tutte le modifiche una volta aggiornato il tema.