2017-04-02 5 views
1

Conditionally unset checkout field in woocommerce에 주어진 조건부 체크 아웃 필드를 사용합니다. 그러나 필요한 유효성 검사 필드가 제거되지 않습니까? 필수 유효성 검사를 제거하기 위해 "if (true)"내에서 조건문을 어떻게 통과시킬 수 있습니까? 즉, 어떤 옵션이 선택되었는지 어떻게 확인할 수 있습니까? 감사Wooocommerce에서 조건부 체크 아웃 필드에서 필요한 검증을 제거하는 방법

if(true){ // pass conditional statement here 
    unset($fields['billing']['add_house_name']); // remove field 
    $fields['billing']['add_building_name']['required'] = false; //   remove required validation 
     }     
     return $fields; 
+0

당신은 조건이 같은 것을 사용할 수 있습니다 ($ true로 필드 [ '결제'] [ 'add_house_name'] ==) 경우 { 해제 ($ 필드 [ '결제'] [ 'add_house_name를']); // 필드 삭제 $ fields [ 'billing'] [ 'add_building_name'] [ 'required'] = false; // } –

답변

1

당신은이 코드를 사용하여 결제 필드를 재정의 할 수

// Hook in 
add_filter('woocommerce_default_address_fields' , 'custom_override_default_address_fields'); 

// Our hooked in function - $address_fields is passed via the filter! 
function custom_override_default_address_fields($address_fields) { 
    $address_fields['address_1']['required'] = false; 

    return $address_fields; 
} 

당신은 당신이 유효성 검사를 트리거 할에 따라 입력을 확인하는 조건이 후크를 추가 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. – stosun

+0

도움이된다면, 내 대답을 받아 들일 수 있습니다! –

+0

답변 해 주셔서 감사합니다. 그러나, 나는 내가 어떻게 조건을 만들 수 있는지 알 수 없었다. 왜냐하면 라디오 버튼 선택에 따라 필드에서를 제거하기 위해 그것을 사용하고 싶기 때문입니다. 나는 그것을 통해 방아쇠를 당긴다. 'wc_enqueue_js ( $ ('#faturabilgi_bireysel ') .change (function() { if ($ (this) .is (': checked ')) { $ ('# billing_firma_field '). 숨기기(); "billing_firma_field"에 대한 필수 유효성 검사를 제거하고 싶습니다. 그러나 여기에 코드를 삽입하는 방법은 무엇입니까? 감사합니다. – stosun