Итак, я следовал этому примеру на Как изменить поле города на Jeroen в раскрывающемся списке в моем разделе Billing / Shipping моего сайта.
/**
* Change the checkout city field to a dropdown field.
*/
function city_to_dropdown( $fields ) {
$city_args = wp_parse_args( array(
'type' => 'select',
'options' => array(
'amsterdam' => 'Amsterdam',
'rotterdam' => 'Rotterdam',
'den-haag' => 'Den Haag',
'utrecht' => 'Utrecht',
'leiden' => 'Leiden',
'groningen' => 'Groningen',
),
), $fields['shipping']['shipping_city'] );
$fields['shipping']['shipping_city'] = $city_args;
$fields['billing']['billing_city'] = $city_args; // Also change for billing field
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'city_to_dropdown' );
Все работает как положено, но вот что я хочу сделать по-другому.
Я хочу иметь возможность запрашивать все списки городов из тарифов доставки на основе города и отображать их в раскрывающемся коде выше.
Так что тогда мне не пришлось бы добавлять города вручную в нескольких местах. В моем списке городов всегда будут города, добавленные с использованием тарифов доставки на основе функциональности города .
Что мне нужно сделать, чтобы иметь возможность удалить введенные вручную города и получить что-то похожее на следующее:
‘options’ => get_list_cities_from_shipping_rate(),
Вопрос:
Какие фильтры или хуки в woocommerce мне нужно вызывать, чтобы иметь возможность вернуть список городов в моей функции get_list_cities_from_shipping_rate()
?
Я новичок в написании этих пользовательских кодов в WordPress. Буду признателен за любые подсказки о том, как это начать.
Заранее спасибо