2017-04-02 9 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

あなたの答えをありがとう。しかし、私はどのように私が条件を作成することができないのか分からない。ラジオボタンの選択に応じてフィールドのフィールドを削除するために使用したいからです。私はそれを介してトリガーします。 「wc_enqueue_js(「 $( '#faturabilgi_bireysel').change(関数(){ ($(これは)(.is場合 ':チェックする')){ $( '#のbilling_firma_field')非表示();。私は "billing_firma_field"の必要な検証を削除したいと思いますが、ここにあなたのコードを挿入するのですか?よろしくお願いします – stosun

関連する問題