禁用 billing_state 字段结帐页面 WooCommerce

Disable billing_state field check out page WooCommerce

我设法禁用了我的 WooCommerce 网上商店中的每个结帐字段,但由于某些奇怪的原因,只有“billing_state”不起作用。

这些是我正在使用的钩子

add_filter( 'woocommerce_checkout_fields' , 'custom_checkout_fields' );
function custom_checkout_fields( $fields ) {
    $fields['billing']['billing_postcode']['custom_attributes']['disabled'] = 'disabled';
    $fields['billing']['billing_city']['custom_attributes']['disabled'] = 'disabled';
    $fields['billing']['billing_state']['custom_attributes']['disabled'] = 'disabled';

    return $fields;
}

我已经尝试过 billing_country 字段,因为这也是一个 select 字段,也许它与此有关,但在 billing_country 字段上,代码工作正常.

有人知道为什么这个功能在我的 billing_state 字段上不起作用吗?也许与条件逻辑有关,因为 State 并不总是在所有国家可见 select?

请像这样尝试并设置默认国家/地区,然后再将其禁用。您不能在没有任何 value.You 的情况下禁用必填字段,也应该为下拉列表设置国家/地区,有关更多说明,您可以按照 link Make checkout country dropdown readonly in Woocommerce

    add_filter('woocommerce_checkout_fields', 'readdonly_country_select_field');
    function readdonly_country_select_field( $fields ) {
        // Set billing and shipping state to AU
        WC()->customer->set_billing_state('state');
       
        // Make billing and shipping country field read only
        $fields['billing']['billing_state']['custom_attributes'] = array( 'disabled' => 'disabled' );
        
    
        return $fields;
    }`