WooCommerce 允許您限制國家 (或 「允許」 的國家) 的運輸。不過,說您的業務是在美國賓夕法尼亞州 (PA) 或澳大利亞的一個州。您可能只想限制運送到一個狀態。
您所需要的只是將以下程式碼貼上到 functions.php 中
WooCommerce 2.1+ Snippet
woocommerce_available_shipping_methods 已被 woocommerce_package_rates 替代。
如果您定位到其他國家/地區,則需要檢視外掛中的 woocommercei18nstates.php 資料夾,然後找到所需的國家/地區。如果狀態不在,請檢查 https://docs.woocommerce.com/document/states-not-in-core/。
/** * @snippet Only ship to PA WooCommerce 2.1+ * @sourcecode https://businessbloomer.com/?p=309 * @author Rodolfo Melogli * @testedwith WooCommerce 2.6.14 */ function bbloomer_only_ship_to_pa( $rates, $package ) { global $woocommerce; $excluded_states = array( 'AL','AK','AS','AZ','AR','CA','CO','CT','DE','DC','FL','FM','GA','GU','HI','ID','IL','IN','IA','KS','KY','LA','ME','MH','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','MP','OH','OK','OR','PW','PR','RI','SC','SD','TN','TX','UM','UT','VT','VA','VI','WA','WV','WI','WY' ); if( in_array( WC()->customer->shipping_state, $excluded_states ) ) { $rates = array(); } return $rates; } add_filter( 'woocommerce_package_rates', 'bbloomer_only_ship_to_pa', 10, 2 );
達到 WooCommerce 2.0 // Only ship to PA Woo 2.0 function only_ship_to_pa( $available_methods ) { global $woocommerce; $excluded_states = array( 'AL','AK','AS','AZ','AR','CA','CO','CT','DE','DC','FL','FM','GA','GU','HI','ID','IL','IN','IA','KS','KY','LA','ME','MH','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','MP','OH','OK','OR','PW','PR','RI','SC','SD','TN','TX','UM','UT','VT','VA','VI','WA','WV','WI','WY' ); if( in_array( $woocommerce->customer->get_shipping_state(), $excluded_states ) ) { // Empty the $available_methods array $available_methods = array(); } return $available_methods; } add_filter( 'woocommerce_available_shipping_methods', 'only_ship_to_pa', 10 );
如何新增此程式碼?
// Only ship to PA Woo 2.0 function only_ship_to_pa( $available_methods ) { global $woocommerce; $excluded_states = array( 'AL','AK','AS','AZ','AR','CA','CO','CT','DE','DC','FL','FM','GA','GU','HI','ID','IL','IN','IA','KS','KY','LA','ME','MH','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','MP','OH','OK','OR','PW','PR','RI','SC','SD','TN','TX','UM','UT','VT','VA','VI','WA','WV','WI','WY' ); if( in_array( $woocommerce->customer->get_shipping_state(), $excluded_states ) ) { // Empty the $available_methods array $available_methods = array(); } return $available_methods; } add_filter( 'woocommerce_available_shipping_methods', 'only_ship_to_pa', 10 );
1 、您可以將 PHP 程式碼片段放置在主題或子主題的 functions.php 檔案的底部 (如果是 CSS 程式碼,請新增到子主題的 style.css 檔案底部) 修改之前建議先備份原始檔案,若出現錯誤請先刪除此程式碼。
2 、 WordPress 4.9 後改進了主題編輯器,對於 CSS 程式碼也可開啟網站前臺編輯器的 【自定義】,複製程式碼新增到自定義 css 中。
此程式碼是否可用?
如需幫助或是您有更好的方案想分享?請到薇曉朵 WooCommerce 中文論壇留言告知,我們希望可以幫到更多國內的 WooCommerce 使用者也希望您的參與。