Php 根据国家/地区的变化更新运输方式

Php 根据国家/地区的变化更新运输方式,php,jquery,wordpress,woocommerce,hook-woocommerce,Php,Jquery,Wordpress,Woocommerce,Hook Woocommerce,受到以下问题的启发:,(答案无效且不正确) 在我的情况下,我配置了2个装运区: 哥伦比亚-3种运输方式(免费、目的地提货和本地交货) 在世界其他地方,我有一种独特的运输方式(在目的地取货) 我的目的是隐藏购物车运输计算器的更新按钮,并且在选择运输国家时,会自动显示方法 注意:在发货计算器中,我只激活了国家/地区,其他字段已停用。我不了解ajax或jquery,但我认为这是通过ajax/jquery实现的。非常感谢您的帮助。您可以尝试使用以下方法: add_action('wp_footer'

受到以下问题的启发:,(答案无效且不正确)

在我的情况下,我配置了2个装运区:

  • 哥伦比亚-3种运输方式(免费、目的地提货和本地交货)
  • 在世界其他地方,我有一种独特的运输方式(在目的地取货)
我的目的是隐藏购物车运输计算器的更新按钮,并且在选择运输国家时,会自动显示方法


注意:在发货计算器中,我只激活了国家/地区,其他字段已停用。我不了解ajax或jquery,但我认为这是通过ajax/jquery实现的。非常感谢您的帮助。

您可以尝试使用以下方法:

add_action('wp_footer', 'cart_country_update_shipping_methods', 50);
function cart_country_update_shipping_methods() {
    if ( ! is_cart() ) return; // On cart
    ?>
    <script type='text/javascript'>
        jQuery(function($){
            $(document.body).on('change', 'select[name="calc_shipping_country"]', function(){
                $(this).submit();
            });
        });
    </script>
    <?php
}
add_action('wp_footer','cart_country_update_shipping_methods',50);
功能车\国家\更新\运输\方法(){
如果(!is_cart())返回;//在购物车上
?>
jQuery(函数($){
$(document.body)。在('change',选择[name=“calc\u shipping\u country”]”上的函数(){
$(this.submit();
});
});

谢谢@LoicTheAztec,顺便问一下,你知道为什么它只工作了一次吗?如果我选择哥伦比亚,它工作得很好,但是如果我选择另一个国家,它将不再工作。哇,太糟糕了,如果是这样,我将无法禁用刷新按钮,因为如果客户出错,他们将无法选择另一个选项,直到他们刷新页面页面。它工作得很好,但是你仍然需要单击选择字段内部或外部的某个位置,以便激活脚本。不同之处在于,在签出页面上,脚本更具动态性,因为它在选择国家时会立即显示方法,而无需单击任何位置。同样,非常感谢,这非常重要很好。再次非常感谢您,如果它工作得很好。@Williams如果您也能投票支持这一个,那就太好了。谢谢。