Код обновлен:
Сначала необходимо настроить некоторые параметры для вашего магазина (где выбранным состоянием магазина будет состояние доставки), и единственной доступной страной доставки будет Индия:
Следующий код установит состояние местоположения магазина как уникальное доступное состояние доставки и сделает раскрывающийся список только для чтения (неактивным) в Checkout и My account> Изменить адресные страницы:
add_filter('woocommerce_shipping_fields', 'shipping_state_preselected_read_only', 900, 1 );
function shipping_state_preselected_read_only($fields) {
// Get shop location country and state
$shop_country_code = WC()->countries->get_base_country();
$shop_state_code = WC()->countries->get_base_state();
$shop_state_name = WC()->countries->get_allowed_country_states()[$shop_country_code][$shop_state_code];
// Set customer shipping country and state to shop location
WC()->customer->set_shipping_country($shop_country_code);
WC()->customer->set_shipping_state($shop_state_code);
// Set shipping country field to shop location
$fields['shipping_state']['option'] = array( $shop_state_code => $shop_state_name );
$fields['shipping_state']['default'] = $shop_state_code;
$fields['shipping_state']['value'] = $shop_state_code;
// Make the field read only
$fields['shipping_state']['custom_attributes'] = array('disabled' => 'disabled');
return $fields;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.
Только одно состояние доставки только для чтения в кассе и адрес для редактирования моего аккаунта (состояние магазина):
С этой страной не будет проблем с проверкой, поскольку Индия предварительно выбрана в качестве единственной страны доставки.