【问题标题】:update cart shipping woocommerce when change country with ajax使用 ajax 更改国家/地区时更新购物车运输 woocommerce
【发布时间】:2017-01-18 08:07:59
【问题描述】:

我有 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

现在我想在使用 ajax 选择计费国家/地区时按区域显示运输方式。

示例: 如果选择帐单国家/地区 US 则仅显示/显示按我们区域运送的方式 (1. Flate_rate1, 2. Flate_rate2, 3. Flate_rate3)

用ajax怎么做,但没有刷新页面。

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

【问题讨论】:

    标签: ajax wordpress methods woocommerce shipping


    【解决方案1】:

    您可以使用 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;
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 1970-01-01
      • 2016-10-09
      • 2018-07-29
      • 1970-01-01
      • 2018-10-27
      • 2019-09-16
      • 1970-01-01
      • 2017-01-11
      相关资源
      最近更新 更多