2014-09-06 1 views
5

woocommerce checkout 페이지에 새로운 사용자 정의 운송 필드 (선택 옵션)를 추가했습니다.woocommerce에서 사용자 지정 운송 필드 변경시 배송 계산을 업데이트하는 방법은 무엇입니까?

배송 계산에 사용 중입니다.

완벽하게 작동합니다. 그러나 그 필드에서 값을 변경하는 동안 문제는 즉시 업데이트되지 않습니다.

페이지 제출 후 다음 페이지에서 올바르게 계산됩니다. 사용자 정의 필드의 변경으로 작동해야합니다.

내 사용자 정의 필드 변경시 운송 계산을 업데이트하는 WooCommerce Ajax를 트리거하는 방법은 무엇입니까?

답변

9

올바른 방법으로 입력란을 추가하는 경우 실제로는 매우 간단합니다 (필터 사용). 당신이해야 할 유일한 것은 클래스 address-field이 같은 update_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; 
} 
+2

매우 유용합니다 ... 감사에게 수천 시간을 .. – erandi

+0

사용자 정의 체크 아웃을 위해 안녕하세요, 저는 콘솔에서 볼 수 'update_totals_on_change'클래스를 추가하면 'woocommerce-checkout-review-order-table'이 호출되지만 'calculate_shipping'함수가 호출되지 않습니다. 누구든지이 물질에 도움이 될 수 있습니까? – erandi

+0

이것은 나를 위해 작동하지 않았다. 나는 당신의 코드를 정확하게 포함 시켰지 만 필드 값이 바뀌고 포커스가 필드에서 멀리 떨어지면 카트가 새로 고쳐지지 않았다. –