【问题标题】:Woocommerce require fieldsWoocommerce 需要字段
【发布时间】:2018-02-21 12:12:48
【问题描述】:

下面是我用来使所有地方的州字段都成为强制性的代码,但对于像德国这样的特定国家/地区,它仍然不是强制性的。我想强制要求所有人。

add_filter( 'woocommerce_checkout_fields', 'custom_override_default_address_fields' );
function custom_override_default_address_fields($fields){
        $fields['billing']['state']['required'] = true;
        $fields['shipping']['state']['required'] = true;
    }
    return $fields;
}

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    我发现 WordPress 本身在许多国家(如科威特)删除了必填的 state 字段,并且无法使用它,

       $fields['billing']['state']['required'] = true;
       $fields['shipping']['state']['required'] = true;
    

    我所做的是,我检查了状态下拉列表中输入值的大小(当用户按下订单按钮时​​),如果该值为空,则显示错误。

    function my_custom_checkout_field_process() {
        // You can make your own control here
        if ( ! $_POST[ 'billing_state' ] )
        {
    
            wc_add_notice( __('PLEASE SELECT A STATE' ), 'error' );
        }
    }
    

    【讨论】:

      【解决方案2】:

      注意你的代码不正确,去掉多余的'}'。

      使用woocommerce_default_address_fields 代替woocommerce_checkout_fields

      add_filter('woocommerce_default_address_fields', 'custom_override_default_address_fields');
      
      function custom_override_default_address_fields( $fields ) {
           $fields['state']['required'] = false;
      
           return $fields;
      }
      

      如果您有其他过滤器,请尝试添加优先级(优先级为 20 的代码将在优先级为 10 的代码之后运行):

      add_filter('woocommerce_default_address_fields', 'custom_override_default_address_fields', 100);
      

      如果你真的需要使用woocommerce_checkout_fields,那么使用billing_stateshipping_state而不是state

      add_filter('woocommerce_checkout_fields', 'custom_override_checkout_fields');
      
      function custom_override_checkout_fields( $fields ) {
        $fields['billing']['billing_state']['required'] = true;
        $fields['shipping']['shipping_state']['required'] = true;
      
        return $fields;
      }
      

      【讨论】:

        猜你喜欢
        • 2018-03-14
        • 2016-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-31
        • 2016-06-16
        • 2021-10-12
        • 2021-03-24
        相关资源
        最近更新 更多