【问题标题】:Update Woocommerce cart shipping methods on country change根据国家/地区更改更新 Woocommerce 购物车运输方式
【发布时间】:2020-11-28 02:46:47
【问题描述】:

update cart shipping woocommerce when change country with ajax的问题启发,(答案无效,不正确)。

就我而言,我配置了 2 个运输区域:

  • 哥伦比亚 - 3 种送货方式(免费、目的地自取和本地送货)
  • 世界其他地区,我有一种独特的运输方式,即(目的地取货)。

我的意图是隐藏购物车运费计算器的更新按钮,并在选择送货国家时自动显示方法。

注意:在运费计算器中我只激活了国家,其他字段已停用。我不了解 ajax 或 jquery,但我认为这是用 ajax / jquery 完成的。请在这方面提供任何帮助。

【问题讨论】:

    标签: php jquery wordpress woocommerce hook-woocommerce


    【解决方案1】:

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

    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
    }
    

    代码在您的活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

    相关:Shipping calculator state field change trigger update in WooCommerce cart

    【讨论】:

    • 谢谢@LoicTheAztec,碰巧,你知道为什么它只工作一次吗?如果我选择哥伦比亚,它会完美运行,但如果我选择另一个国家,它将无法再次运行。
    • 哇,太糟糕了,如果是这样,我将无法禁用刷新按钮,因为如果客户犯了错误,他们将无法选择其他选项,直到他们刷新页面。
    • 效果很好,但是您仍然需要单击选择字段内部或外部的某个位置才能激活脚本,不同之处在于结帐页面上的脚本更加动态,因为它显示选择国家时立即使用方法,而无需单击任何位置。同理,非常感谢,非常好。
    • @Williams 如果你也可以投票给这个stackoverflow.com/a/62009659/3730754,那就太好了。谢谢。
    猜你喜欢
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多