2014-09-06 17 views
5

Tôi đã thêm trường vận chuyển tùy chỉnh mới (tùy chọn chọn) vào trang thanh toán thương mại điện tử.Cách cập nhật tính toán giao hàng khi thay đổi trường vận chuyển tùy chỉnh trong woocommerce?

Tôi đang sử dụng để tính toán giao hàng.

cũng hoạt động hoàn hảo. nhưng vấn đề là trong khi tôi thay đổi giá trị trong trường đó, nó không cập nhật ngay lập tức.

Nó cung cấp các tính toán chính xác trên trang tiếp theo, sau khi gửi trang. Tôi cần nó để làm việc như thay đổi trong lĩnh vực tùy chỉnh.

Cách kích hoạt WooCommerce Ajax cập nhật tính toán giao hàng khi thay đổi trường tùy chỉnh của tôi?

Trả lời

9

Điều này thực sự cực kỳ đơn giản nếu bạn thêm trường của mình theo cách chính xác (sử dụng bộ lọc woocommerce_checkout_fields). Điều duy nhất bạn cần làm là thêm các lớp address-fieldupdate_totals_on_change như thế này:

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; 
} 
+2

cực kỳ hữu ích ... thanks a ngàn lần .. – erandi

+0

chào, tôi có thể nhìn thấy trong giao diện điều khiển, đối với phong tục kiểm tra các trường mà chúng ta thêm vào, 'update_totals_on_change' class .... nó đang gọi 'woocommerce-checkout-review-order-table' nhưng nó không phải là hàm 'calculate_shipping' không được gọi? Bất cứ ai có thể giúp đỡ trên mater này? – erandi

+0

Điều này dường như không hiệu quả đối với tôi. Tôi đã bao gồm mã của bạn chính xác, nhưng giỏ hàng không làm mới khi giá trị trường thay đổi và tiêu điểm bị dịch chuyển khỏi trường. –

Các vấn đề liên quan