【问题标题】:How to update shipping calculations on change of custom shipping field in woocommerce?如何在 woocommerce 中更改自定义运输字段时更新运输计算?
【发布时间】:2014-10-31 10:23:08
【问题描述】:

我在 woocommerce 结帐页面中添加了新的自定义运输字段(选择选项)。

我用它来计算运费。

这也很完美。但问题是当我更改该字段中的值时,它不会立即更新。

页面提交后,它会在下一页给出正确的计算。 我需要它作为自定义字段的更改。

如何触发 WooCommerce Ajax,它会在我的自定义字段更改时更新运费计算?

【问题讨论】:

    标签: woocommerce shipping


    【解决方案1】:

    如果您以正确的方式添加字段(使用woocommerce_checkout_fields 过滤器),这实际上非常简单。您唯一需要做的就是像这样添加address-fieldupdate_totals_on_change 类:

    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
    
    function custom_override_checkout_fields( $fields ) {
    
        $fields['shipping']['custom_field'] = array(
            'label' => 'Custom field',
            'required' => 1,
            'class' => array ('address-field', 'update_totals_on_change' )
        );
    
        return $fields;
    } 
    

    【讨论】:

    • 嗨,我可以在控制台中看到,对于我们添加的自定义签出字段,'update_totals_on_change' 类 .... 它正在调用 'woocommerce-checkout-review-order-table' 但是不是没有调用'calculate_shipping'函数吗?有人可以帮忙解决这个问题吗?
    • 这似乎对我不起作用。我准确地包含了您的代码,但是当字段值更改并且焦点从该字段移开时,购物车没有刷新。
    • @QuantumDynamix 您必须知道,只有在您填写其他“地址字段”字段时才会触发它。然后,当您更改自定义字段时,它会刷新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多