Wordpress 仅将装运限制在特定州的
我想限制我的客户只运送到特定的州。实际上,我想在我的发货地址状态字段中显示特定的状态。我试过这个Wordpress 仅将装运限制在特定州的,wordpress,woocommerce,Wordpress,Woocommerce,我想限制我的客户只运送到特定的州。实际上,我想在我的发货地址状态字段中显示特定的状态。我试过这个 function patricks_only_ship_to_continental_us( $available_methods ) { global $woocommerce; $excluded_states = array( 'AK','HI','GU','PR' ); if( !in_array( $woocommerce->customer->get
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
以下是仅允许向有限的印度州运输的示例。 将下面的代码放入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默认状态获取状态代码列表
plugins\woocommerce\i18n\states我无法发表评论,因此我将作为答案发布,有很多插件可以通过添加搜索栏这样的功能来实现这一点,您的客户可以在其中输入邮政编码,并检查您是否在那个地方发货。它还可以限制他们在购物车中添加任何东西,如果他们还没有检查他们的邮政编码 这是我到目前为止知道的插件列表。但一切都是有报酬的
以前尝试过,但它同时改变了发货地址和账单地址字段,而我只想改变发货状态字段。为什么很难改变应该非常简单的内容。我不在乎人们从哪里付款,但我能把物品送到哪里是非常有限的。