Actually, changing the address in the checkout should automatically adjust the shipping costs (if they are created differently). If this is not the case, the following script can fix the problem.
add_action('wp_footer', 'billing_country_update_checkout', 50); function billing_country_update_checkout() { if ( ! is_checkout() ) return; ?> <script type="text/javascript"> jQuery(function($){ $('select#billing_country, select#shipping_country').on( 'change', function (){ var t = { updateTimer: !1, dirtyInput: !1, reset_update_checkout_timer: function() { clearTimeout(t.updateTimer) }, trigger_update_checkout: function() { t.reset_update_checkout_timer(), t.dirtyInput = !1, $(document.body).trigger("update_checkout") } }; $(document.body).trigger('update_checkout'); console.log('Event: update_checkout'); }); }); </script> <?php }