Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 电子商务需要字段_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 电子商务需要字段

Php 电子商务需要字段,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,下面是我用来使所有地方的“州”字段都是强制性的代码,但对于像德国这样的特定国家,它仍然不是强制性的。我想让它对所有人都是强制性的 add_filter( 'woocommerce_checkout_fields', 'custom_override_default_address_fields' ); function custom_override_default_address_fields($fields){ $fields['billing']['state']['req

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

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;
}

请注意,您的代码不正确,请删除额外的“
}

使用
woocommerce\u default\u address\u fields
而不是
woocommerce\u checkout\u 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的代码之后运行):

如果您确实需要使用
woocommerce\u checkout\u字段
,则使用
billing\u state
shipping\u 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;
}

我发现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' );
    }
}
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' );
    }
}