WooCommerce 在 CheckOut-Page 上,默认的 ['billing_state'] 显示在下拉列表中,我想将其更改为 input[text]。顾客必须自己输入信息。
请帮忙,非常感谢
此代码对我不起作用。 (客户输入州后,显示州代码。应该显示客户输入的州名称)
add_filter( 'woocommerce_checkout_fields' ,
'y_change_address_input_type', 10, 1 );
function y_change_address_input_type( $fields ) {
$fields['billing']['billing_state']['type'] = 'text';
return $fields;
}
感谢您的评论,目前,我找到了解决方案。我可以在钩子
woocommerce_default_address_fields
上从选择[选项]切换到输入[文本],并且代码按我的预期工作。 (我不知道为什么代码不能在 woocommerce_checkout_fields
上运行。代码应该在 woocommerce_default_address_fields
和 woocommerce_checkout_fields
上都可以运行)
这就是作品:
add_filter( 'woocommerce_default_address_fields', 'y_edit_state', 40, 1 );
function y_edit_state( $state_fields ) {
$state_fields ['state'] = array(
'label' => 'stae', // Add custom field label
'placeholder' => 'stae', // Add custom field placeholder
'required' => true, // if field is required or not
'class' => array( 'form-row-wide', 'address-field' ), // add class name
'clear' => false, // add clear or not
'type' => 'text', // add field type
'priority' => 80, // Priority sorting option
);
return $state_fields;
}
我也尝试过这个代码,但它对我不起作用。