Стоимость доставки рассчитывается по месту доставки клиента.
Итак, вы спросили страну отправления клиента и указали, что вы можете получить объект WC_Customer
, используя специальные методы следующим образом:
add_action( 'woocommerce_after_shipping_rate', 'blm_action_after_shipping_rate', 20, 2 );
function blm_action_after_shipping_rate ( $method, $index ) {
if( is_cart() ) {
return; // Exit on cart page
}
$shipping_country = WC()->customer->get_shipping_country();
$shipping_state = WC()->customer->get_shipping_state();
// Testing output
echo '<br><small>Country code:' . $shipping_country . ' | State code: ' . $shipping_state . '</small>';
}
Код помещается в файл function.php активной дочерней темы (или активной темы). Проверено и работает.
Если клиент меняет страну и штат, данные обновляются, и новая страна и штат устанавливаются в WC_Customer
Объект.