Отключить поле billing_state страницы проверки 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, потому что это тоже поле выбора и, возможно, оно как-то связано с этим, но в поле billing_country код работает нормально.

Кто-нибудь знал, почему эта функция не работает с моим полем billing_state при оформлении заказа? Может быть, что-то связано с условной логикой, потому что состояние не всегда видно со всеми странами, которые вы можете выбрать?


person user2812779    schedule 21.10.2020    source источник


Ответы (1)


Пожалуйста, попробуйте это и установите страну по умолчанию, прежде чем отключать ее. Вы не можете отключить обязательное поле без какого-либо значения. Вы также должны указать страну для раскрывающегося списка, а для получения дополнительных разъяснений вы можете перейти по ссылке Сделать раскрывающийся список страны оформления заказа только для чтения в 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;
    }`
person ujjawal bhandare    schedule 21.10.2020
comment
Думаю, я неправильно понял ваш вопрос. поэтому, пожалуйста, перейдите по ссылке, чтобы получить ответ. stackoverflow.com/questions/52279966 / - person ujjawal bhandare; 21.10.2020
comment
спасибо за ответ и ссылку, но также с этими функциями я не могу отключить поле billing_state ... Я могу отключить все поля, кроме этого :( - person user2812779; 22.10.2020