2017-04-02 49 views
1

我使用在Conditionally unset checkout field in woocommerce處給出的條件結賬字段。 但是,它不會刪除所需的驗證字段? 如何在「if(true)」中傳遞條件語句以刪除所需的驗證?換句話說,我如何檢查選擇了哪個選項? 問候Woocommerce在條件結賬領域如何刪除必需的驗證

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

您可以使用條件是這樣的: 如果($域[ '結算'] [ '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

感謝您的回答。但是,我不知道如何創造條件。因爲我想根據單選按鈕選擇使用它來刪除字段。我通過觸發它; '('(this).is'(':checked')){0}'('#billing_firma_field')。hide();如果($(this).is(':checked'))'('#faturabilgi_bireysel').change(function(){ ' $('#billing_tckn_field').show();'我想刪除所需的「billing_firma_field」驗證,但是我怎麼能在這裏插入你的代碼呢?Regards – stosun