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

Par*_*tel 2 wordpress cart woocommerce hook-woocommerce

我正在使用 WordPress / WooCommerce

\n

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

\n

例如:如果客户已将 1 个产品添加到购物车,价格为 \xe2\x82\xb98.00

\n

随后,管理员将产品的价格从 \xe2\x82\xb98.00 更改为 \xe2\x82\xb910.00

\n

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

\n

我正在使用这段代码,但不起作用

\n
(function( $ ) {\n    'use strict';\n\n    jQuery( document ).ready(function($) {\n        function refresh_fragments() {\n            console.log('fragments refreshed!');\n            $( document.body ).trigger( 'wc_fragments_refreshed' );\n        }\n        refresh_fragments();\n        setInterval(refresh_fragments, 5000);\n    });\n\n})(jQuery);\n
Run Code Online (Sandbox Code Playgroud)\n

Bha*_*tik 6

尝试下面的代码。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);
Run Code Online (Sandbox Code Playgroud)

根据 OP 请求进行更新。

结帐刷新。

使用update_checkout触发器。

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