【问题标题】:How to make Woocommerce checkout field not required if checkbox is checked?如果选中复选框,如何使 Woocommerce 结帐字段不需要?
【发布时间】:2021-10-12 15:17:25
【问题描述】:

在 Wordpress Woocommerce 结帐页面中,如果选中了复选框“buy_on_company”,我想使字段“billing_name”不需要。

我已设法在结帐页面中隐藏“billing_name”,但如何使其也不需要?

add_filter( 'woocommerce_checkout_fields' , 'company_checkbox_and_new_checkout_fields', 9999 );
  

function company_checkbox_and_new_checkout_fields( $fields ) {
    
$fields['billing']['buy_on_company'] = array( // CSS ID
    'type'      => 'checkbox',
    'label'     => __('Buy on company', 'woocommerce'),
    'class'     => array('form-row-wide'), // CSS Class
    //'label_class'   => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
    'clear'     => true,
    'priority'  => '10'
);   

    $fields['billing']['billing_name']['placeholder'] = 'First Name Last name';

return $fields;
}
function hook_javascript() {
  ?>
  <script>
        document.getElementById('buy_on_company').onclick = function () {
            if (this.checked) {
                document.getElementById('billing_name').style['display'] = 'none';
            } else {
                document.getElementById('billing_name').style['display'] = 'block';
            }

        };
  </script>
  <?php
}

add_action( 'woocommerce_after_checkout_form', 'hook_javascript' );

【问题讨论】:

    标签: javascript php html woocommerce


    【解决方案1】:

    我已经这样做了:

    add_filter( 'woocommerce_checkout_fields' , 'company_checkbox_and_new_checkout_fields_1', 9999 );
    function company_checkbox_and_new_checkout_fields_1( $fields ) {
            if (isset($_POST['buy_on_company'])) {          
                $fields['billing']['billing_name']['required'] = false;
                } else {
                $fields['billing']['billing_name']['required'] = true;  
            }
    return $fields;
    }
    

    现在它不要求提供帐单名称字段。

    【讨论】:

      猜你喜欢
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 2021-07-21
      • 2019-01-27
      • 2021-07-10
      • 2020-10-22
      • 2020-11-23
      相关资源
      最近更新 更多