首页 > 解决方案 > woocommerce 插件在添加到购物车时向服务器发送请求,而不是在结帐时

问题描述

我为 woocommerce 编写了一个插件。这是给快递公司的。

插件如何工作? 如果餐厅安装了我们的插件,餐厅的顾客将在结帐送货清单中看到我们的公司和我们的价格(作为送货公司)。如果客户选择我们公司,我们将下订单并交付给客户。

问题是什么? 我的问题是:每次客户将商品添加到购物车时,woocommerce 都会向我们的服务器发送请求以验证地址并计算运费……但是为什么要向我们的服务器发送请求以将商品添加到购物车大车?我们只需要在结帐时收到请求……而不是在此之前。

在那个阶段,即使我们还没有客户的地址。

插件使用 woocommerce_shipping_init api 文档

有什么选择吗?最佳做法是什么?

问题出在哪里? 这是我的代码:

add_action( 'woocommerce_shipping_init', $this, 'shipping_init' );

在该 shipping_init 方法中,我调用我的服务器端点 api 来计算运费。

当我评论这一行时,插件不会发送任何请求。不在 add to cart,不在 check-out。(所以插件不再工作)。

当我取消注释此行时,插件将在客户按下时发送请求 add to cartcheck-out 但我希望当客户按下按钮或访问/cart页面时,它会发送一个按客户地址计算价格的请求 。

我应该怎么办?这有可能解决这个问题吗?

标签: phpwordpresswoocommercehook-woocommerce

解决方案


推荐阅读