Я изменил поля биллинга / доставки в поле выбора с помощью этой функции:
function change_city_to_dropdown( $fields ) {
$city_args = wp_parse_args( array(
'type' => 'select',
'options' => array(
'ny' => 'New york city',
'dc' => 'washington dc,
),
), $fields['shipping']['shipping_city'] );
$fields['shipping']['shipping_city'] = $city_args;
$fields['billing']['billing_city'] = $city_args;
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'change_city_to_dropdown' );
Я хочу сбросить методы доставки в зависимости от выбранного города, я пробовал эту функцию, но она не работает. ..
function unset_shipping( $rates, $package, $fields ) {
if ( isset( $fields['shipping']['shipping_city']['ny'] ) ) {
unset( $rates['flat_rate:1'] );
}
if ( isset( $fields['shipping']['shipping_city']['dc'] ) ) {
unset( $rates['flat_rate:2'] );
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'unset_shipping', 10, 2 );
Как передать выбранный город в эту функцию?