WooCommerce |在购物车和结帐中显示适用于国家/地区的送货地区/方法,以及适用于邮政编码的地区/方法

时间:2020-05-24 09:14:02

标签: php woocommerce

在某些情况下,我们想在购物车和结帐处显示两种送货方式。不仅要精简到最适用。

我们有一个基于国家/地区的区域,只有一种方法-免费接送。 和。 我们设置了不同的邮政编码特定区域,这些区域具有统一费率和免费送货方式。

我们的目标

如果用户已将国家/地区字段设置为适用的国家/地区,则始终会显示免费接送。 和。 统一费率或免费送货将根据是否对用户邮政编码可用(默认)显示。

所以简单来说。保持不变,但只要用户输入了国家,便始终显示我们的“国家/地区”方法。

到目前为止

当前,我们正在考虑通过woocommerce_package_rates过滤器在功能calculate_shipping_for_package()上手动添加提取方法。

我们真正想做的是在session set方法处进行拦截并添加我们的提取方法。但这就是我们被困的地方。准确确定会话的费率设置。

1 个答案:

答案 0 :(得分:0)

所以事实证明我们走在正确的轨道上。

当时造成更多混乱的是,我们还考虑了WooCommerce Multivendor插件,该插件在增加费率方面还有额外的步骤。

解决方案是加入woocommerce_package_rates并通过使用WC_Shipping_Rate类创建一个新对象,根据我们特定于拾取的可用区域和拾取方法来建立新的速率。

通过将其添加到堆栈中,我们能够将基于国家的方法与基于区域的方法保持一致。

相关问题