限制运送到特定国家/地区

时间:2015-05-01 09:01:02

标签: 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_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

2 个答案:

答案 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)

我无法发表评论所以我会发布一个答案,有很多插件可以通过添加类似搜索栏的内容来实现这一点,您可以在其中输入邮政编码并检查您是否在地点。它还可以限制他们在购物车中添加任何东西,如果他们还没有检查他们的邮政编码。

这是我目前所知的插件列表。一切都是通过

支付的
  1. http://gremlin.io/shop/woocommerce-plugins/restrict-check-cod-payment-method-zip-pin-codes-woocommerce

  2. http://codecanyon.net/item/zip-code-checker/8740060

  3. http://codecanyon.net/item/wp-triggers-add-instant-interactivity-to-wp/3516401?sso%3FWT.ac=search_item&ref=cmoreira&WT.seg_1=search_item&WT.z_author=deptweb730&ref=cmoreira&clickthrough_id=410306377&redirect_back=true