如何在 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);
我正在开发 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);