我有这个代码片段:
add_action( 'template_redirect', 'empty_cart_redirection' );
function empty_cart_redirection(){
if(is_cart() && WC()->cart->get_cart_contents_count() == 0 ) {
wp_safe_redirect( get_permalink('8') );
exit;
}
}
如果购物车为空,此代码会将用户重定向到主页。唯一的问题是条件
WC()->cart->get_cart_contents_count() == 0
仅在页面刷新后才为真。如何更改它以便在删除产品时更新购物车?
我尝试了上面的代码片段,希望它能解决问题,但它从未进入 if 语句。只有在手动刷新页面后才会这样做。
要在删除单个产品后刷新购物车页面,您可以使用 Woocommerce Javascript 事件。 在购物车页面的页脚添加以下代码:
<script>
jQuery( document.body ).on( 'removed_from_cart', function(){
window.location.reload();
});
</script>
或
如果清空购物车后需要刷新购物车页面,请使用以下代码:
<script>
jQuery( document.body ).on( 'wc_cart_emptied', function(){
window.location.reload();
});
</script>