PHP:如何将下拉列表更改为文本? [结账页面 WooCommerce]

问题描述 投票:0回答:2

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;
}
php wordpress woocommerce
2个回答
0
投票

感谢您的评论,目前,我找到了解决方案。我可以在钩子

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

0
投票

我也尝试过这个代码,但它对我不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.