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