如何在 WooCommerce 中每 5 秒刷新一次购物车和结帐?

How to refresh cart and checkout in every 5 seconds in WooCommerce?

我正在开发 WordPress/WooCommerce

我的要求是当客户在CART页面时,我想每5秒刷新一次CART,没有页面加载

例如:如果客户将 1 件产品添加到购物车并且价格为 ¥8.00

稍后,管理员将产品价格从 ¥8.00 更改为 ¥10.00

如何在不刷新页面的情况下显示最新价格?

我正在使用此代码,但无法正常工作

(function( $ ) {
    'use strict';

    jQuery( document ).ready(function($) {
        function refresh_fragments() {
            console.log('fragments refreshed!');
            $( document.body ).trigger( 'wc_fragments_refreshed' );
        }
        refresh_fragments();
        setInterval(refresh_fragments, 5000);
    });

})(jQuery);

试试下面的代码。您可以触发更新购物车按钮,而不是使用 wc_fragments_refreshed 触发器。

购物车刷新。

(function( $ ) {
    'use strict';
    jQuery( document ).ready(function($) {
        function refresh_fragments() {
            console.log('fragments refreshed!');
            jQuery( "[name='update_cart']" ).removeAttr( 'disabled' );
            jQuery( "[name='update_cart']" ).trigger( 'click' );
        }
        setInterval(refresh_fragments, 5000);
    });
})(jQuery);

根据 OP 请求更新

结帐刷新。

使用update_checkout触发器。

(function( $ ) {
    'use strict';
    jQuery( document ).ready(function($) {
        function refresh_fragments() {
            $( document.body ).trigger( 'update_checkout' );
        }
        setInterval(refresh_fragments, 5000);
    });
})(jQuery);