Я хочу добиться того же в поле выбора города. Я хочу, чтобы город был похож на поле страны с обычным текстом или заданным значением, которое нельзя изменить.
Ниже приведен мой код состояния полей woocommerce в моем файле function.php. какой тип я должен использовать?
add_filter( 'woocommerce_checkout_fields', 'custom_checkout_fields', 10, 1 );
function custom_checkout_fields( $fields ) {
$fields['billing']['billing_city']['type'] = 'select';
$fields['billing']['billing_city']['options'] = array('Auckland' => 'Auckland');
return $fields;
}
Вы можете сделать поле только для чтения (отключен) на странице оформления заказа (а также в Личном кабинете> Адреса> раздел «Адрес для выставления счетов»)…
2 разных случая:
1) Для select
тип:
add_filter( 'woocommerce_billing_fields', 'custom_checkout_billing_city_field', 10, 1 );
function custom_checkout_billing_city_field( $billing_fields ) {
// HERE define the city
$city = 'Auckland';
// Set the city value (to be sure)
WC()->customer->set_billing_city( $city );
// Change the billing city field
$billing_fields['billing_city']['type'] = 'select';
$billing_fields['billing_city']['options'] = array( $city => $city );
$billing_fields['billing_city']['default'] = $city;
$billing_fields['billing_city']['custom_attributes']['disabled'] = 'disabled';
return $billing_fields;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Поле выбора отключено (только чтение) с заранее выбранным городом:
2) Для text
тип:
add_filter( 'woocommerce_billing_fields', 'custom_checkout_billing_city_field', 10, 1 );
function custom_checkout_billing_city_field( $billing_fields ) {
// HERE define the city
$city = 'Auckland';
// Set the city value (to be sure)
WC()->customer->set_billing_city( $city );
// Change the billing city field
$billing_fields['billing_city']['default'] = $city;
$billing_fields['billing_city']['custom_attributes']['readonly'] = 'readonly';
return $billing_fields;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Текстовое поле доступно только для чтения с предварительно выбранным городом:
Других решений пока нет …