我想限制我的客户运送到特定的州。实际上我想在我的送货地址州字段中显示特定的状态。我试过这个
function patricks_only_ship_to_continental_us( $available_methods ) {
global $woocommerce;
$excluded_states = array( 'AK','HI','GU','PR' );
if( !in_array( $woocommerce->customer->get_shipping_state(), $excluded_states ) ) {
// Empty the $available_methods array
$available_methods = array();
}
return $available_methods;
}
add_filter( 'woocommerce_package_rates', 'patricks_only_ship_to_continental_us', 10 );
但这似乎没有按预期工作,它在下订单时抛出错误信息。我不希望我的客户选择无效的送货方式。
我也尝试了这些过滤器,但它们更改了送货地址和帐单地址状态字段
woocommerce_states
woocommerce_countries_allowed_country_states
答案 0 :(得分:0)
以下是仅允许运送到印度有限州的示例。 将代码放在你的function.php
中add_filter( 'woocommerce_states', 'custom_woocommerce_states' );
function custom_woocommerce_states( $states ) {
$states['IN'] = array(
'GA' => __( 'Goa', 'woocommerce' ),
'JK' => __( 'Jammu and Kashmir', 'woocommerce' ),
'JH' => __( 'Jharkhand', 'woocommerce' ),
'GJ' => __( 'Gujarat', 'woocommerce' )
);
return $states;
}
通过列出要启用送货的状态来修改阵列列表。 您可以从woo commerce default state获取状态代码列表 插件\ woocommerce \ I18N \状态
答案 1 :(得分:0)
我无法发表评论所以我会发布一个答案,有很多插件可以通过添加类似搜索栏的内容来实现这一点,您可以在其中输入邮政编码并检查您是否在地点。它还可以限制他们在购物车中添加任何东西,如果他们还没有检查他们的邮政编码。
这是我目前所知的插件列表。一切都是通过
支付的