从购物车中删除产品后如何重新加载页面 - Woocommerce

问题描述 投票:0回答:1

我有这个代码片段:

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 语句。只有在手动刷新页面后才会这样做。

php wordpress woocommerce hook-woocommerce woocommerce-rest-api
1个回答
0
投票

要在删除单个产品后刷新购物车页面,您可以使用 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>
© www.soinside.com 2019 - 2024. All rights reserved.