【问题标题】:How Remove Required Validation at Conditional Checkout Field at Woocommerce如何在 Woocommerce 的条件结帐字段中删除所需的验证
【发布时间】:2017-08-27 14:42:23
【问题描述】:

我使用Conditionally unset checkout field in woocommerce 给出的条件结帐字段。 但是,它不会删除必需的验证字段吗? 如何在“if (true)”中传递条件语句以删除所需的验证? 换句话说,我如何检查选择了哪个选项? 问候

 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;

【问题讨论】:

  • 你可以使用类似这样的条件: if($fields['billing']['add_house_name'] ==true) { unset($fields['billing']['add_house_name']) ; // 删除字段 $fields['billing']['add_building_name']['required'] = false; // }

标签: woocommerce field checkout


【解决方案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;
}

您可以将此钩子添加到您检查输入的条件中,并根据该条件触发验证。

【讨论】:

  • 感谢您的回答。
  • 感谢您的回答。但是,我不知道如何创造条件。因为我想使用它来删除取决于单选按钮选择的字段。我通过触发它; ' wc_enqueue_js( " $( '#faturabilgi_bireysel' ).change( function () { if ( $( this ).is( ':checked' ) ) { $('#billing_firma_field').hide(); $( '# billing_tckn_field' ).show(); ' 我想删除 "billing_firma_field" 所需的验证,但是如何在此处插入您的代码?问候
  • 此解决方案将帮助您实现功能。看看吧:wordimpress.com/create-conditional-checkout-fields-woocommerce
猜你喜欢
  • 2021-02-08
  • 2021-07-02
  • 2017-03-14
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
  • 2018-03-14
  • 2015-04-20
相关资源
最近更新 更多