Php 刷新WooCommerce签出中某些装运字段更改的打印值

Php 刷新WooCommerce签出中某些装运字段更改的打印值,php,html,jquery,wordpress,woocommerce,Php,Html,Jquery,Wordpress,Woocommerce,我有这个代码,它打印用户在woocommerce结帐页面(发货表单)中选择的发货国家。它工作正常,值会在签出页面加载时打印出来 但是,如果用户更改了选择列表中的所选国家(以发货形式),则打印的国家值将过时。有一个ajax事件刷新了交付费用等,但是我的值没有得到更新 问题:当用户更改配送表单时,是否有方法再次调用该“操作” <?php add_action( 'woocommerce_checkout_before_order_review', 'action_woocommerce

我有这个代码,它打印用户在woocommerce结帐页面(发货表单)中选择的发货国家。它工作正常,值会在签出页面加载时打印出来

但是,如果用户更改了选择列表中的所选国家(以发货形式),则打印的国家值将过时。有一个ajax事件刷新了交付费用等,但是我的值没有得到更新

问题:当用户更改配送表单时,是否有方法再次调用该“操作”

    <?php
add_action( 'woocommerce_checkout_before_order_review', 'action_woocommerce_checkout_before_order_review', 10, 0 );

function action_woocommerce_checkout_before_order_review () {
        echo $country = WC()->customer->get_shipping_country();
}    

最后,不需要Ajax,只需向显示的国家/地区添加一个周围的html标记,并使用一点jQuery,就可以按如下方式刷新显示的装运国家/地区代码:

add_action( 'woocommerce_checkout_before_order_review', 'action_woocommerce_checkout_before_order_review' );
function action_woocommerce_checkout_before_order_review () {
    echo '<span class="the_shipping_country">'. WC()->customer->get_shipping_country() . '</span>';
}

// JQuery code
add_action( 'wp_footer', 'checkout_shipping_country_refresh_display' );
function checkout_shipping_country_refresh_display() {
    // On checkout
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?><script type="text/javascript">
    jQuery( function($){
        // Shipping fias code change & input events
        $(document.body).on( 'change', 'select[name=shipping_country]', function() {
            $('.the_shipping_country').html($(this).val());
            console.log($(this).val());
        });
    });
    </script>
    <?php
    endif;
}
add_action('woocommerce_checkout_-before_-order_-review'、'action_-woocommerce_-checkout_-before_-order_-review');
功能操作\u订单检查前\u商业检查\u检查(){
echo'.WC()->客户->获取装运国();
}
//JQuery代码
添加操作('wp_页脚','checkout_shipping_country_refresh_display');
功能签出\发货\国家\刷新\显示(){
//结帐时
如果(is_checkout()&&!is_wc_endpoint_url()):
?>
jQuery(函数($){
//装运fias代码更改和输入事件
$(document.body)。在('change',选择[name=shipping\u country]',函数()上{
$('.the_shipping_country').html($(this.val());
log($(this.val());
});
});

需要使用Ajax才能刷新装运字段更改…@LoicTheAztec如何开始为Ajax调用添加侦听器?@LoicTheAztec请告诉您,我刚刚开始为这个问题提供悬赏。谢谢。