代码之家  ›  专栏  ›  技术社区  ›  Rob Teeuwen

通过api创建空购物车不起作用

  •  0
  • Rob Teeuwen  · 技术社区  · 6 年前

    在我的支付处理端点,我写道 WC()->cart->empty_cart() 成功付款后。当我检查的时候,这似乎起作用了 WC()->cart->get_cart WC()->cart->get_cart() ,但通过GET请求),项仍在其中。如果我通过woocommerce标准结帐页面而不是SPA完成结帐,购物车就可以清空了。

    我知道在这个论坛上还有一些关于这个问题的其他问题,但是没有一个解决方案适合我。我试过了 WC()->cart->empty_cart(true) 把“购物车”放在 WC()->session 到空数组。我真的不知道购物车还存放在哪里,也不知道WC()是如何存放的->cart访问这些信息,但我猜这与我试图通过异步请求清空有关?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Rob Teeuwen    6 年前

    事实证明,这个问题只发生在登录用户身上。有一个登录用户的持久购物车,应该在 true 传递到 empty_cart get_current_user_id 由使用的 空车 https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/

        2
  •  0
  •   Jan Myszkier    6 年前

    PHP调用太多 WC()->cart->empty_cart() 不会神奇地调用刷新HTML所需的前端工作。 jQuery(document.body).trigger('wc_fragment_refresh'); 随时检查 wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.js