更新购物车运输woocommerce时改变国家与ajax

时间:2016-09-10 08:07:58

标签: ajax wordpress methods woocommerce shipping

我有3个区域运输,每个区域还有3个方法运送(不同)

  1. 美国地区:方法运输= 1. Flate_rate1,2。Flate_rate2,3。Flate_rate3

  2. 英国地区:方法运输= 1. Flate_rate4,2。Flate_rate5,3。Flate_rate6

  3. Zone All WOrld:Method Shipping = 1. Flate_rate7,2。Flate_rate8

  4. 现在,当选择带有ajax的结算国家/地区时,我希望按地区显示方法运费。

    示例: 如果选择结算国家/地区,那么只显示/显示按区域运送的方法(1. Flate_rate1,2。Flate_rate2,3。Flate_rate3)

    如何使用ajax,但没有刷新页面。

    任何可以帮助我......谢谢...... 如有任何帮助,您可以通过电子邮件发送:andythreesaputra@gmail.com或回答此论坛。 非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用WooCommerce过滤器'woocommerce_package_rates'来实现此目的。

您可以这样编码

add_filter('woocommerce_package_rates', 'wf_modify_rates', 10, 3);
function wf_modify_rates($available_shipping_methods, $package){
    $methords_us = array('flaterate:1','flaterate:2');

    if( $package['destination']['country'] == 'US'){
        foreach ($available_shipping_methods as $methord_name => $methord) {
            if(!in_array($methord_name, $methords_us)){
                unset($available_shipping_methods[$methord_name]);
            }
        }
    }
    return $available_shipping_methods;
}