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 );
可以在哪里添加此代码?
您可以将 PHP 代码片段放置在主题或子主题的 functions.php 文件的底部(如果是 CSS 代码,请添加到主题的 style.css 文件底部),修改之前建议先备份原始文件,若出现错误请先删除此代码。
这段代码是否正常可用?
或者是您有更好的解决方案想要分享?请到薇晓朵 WooCommerce 中文论坛留言告知,我们希望可以帮到更多国内的 WooCommerce 用户也希望您的参与。
需要关于 WooCommerce 的帮助?
请观看我们提供的免费视频教程或到薇晓朵 WooCommerce 中文论坛提问,会有专业技术团队提供相关帮助。