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


美国区域:方法运输= 1. Flate_rate1,2. Flate_rate2,3. Flate_rate3
英国区域:方法运输= 1. Flate_rate4、2。Flate_rate5、3。Flate_rate6
区域所有工作区:方法运输= 1. Flate_rate7,2. Flate_rate8


现在,当选择带有ajax的计费国家/地区时,我现在想按区域显示运输方式。

例如:
如果选择开票国家(美国),则仅显示/显示按地区运送的方法(1. Flate_rate1、2。Flate_rate2、3。Flate_rate3)

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

任何可以帮助我...谢谢的..
如果有任何帮助,您可以通过电子邮件发送:[email protected]或回答此论坛。
非常感谢

最佳答案

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

10-05 22:37