我在过去4个小时内尝试过研究这个问题的答案,但我还没有找到答案 .
我在我的woocommerce结帐页面上添加了自定义费用 . 这是由于woocommerce航运无法提供的复杂的交付计算 .
我现在需要创建一张优惠券,如果输入优惠券,则将此自定义费用设置为零 .
这是我的定制费用
WC()->cart->add_fee( __('Shipping', 'woocommerce'), $shipping_price );
这是我需要实现的目标 .
if($coupon_code == "this-string"){
$shipping_price = 0;
}
我需要一种方法来检查提交的优惠券代码是否等于“this-string”,如果是,我需要将$ shipping Fee设置为零 .
请各位帮助将不胜感激 .
3 回答
您可以拨打
WC()->cart->get_applied_coupons()
以获取应用于购物车的所有优惠券 . 然后,您可以检查您的优惠券代码是否在该数组中 . 像这样的东西:未经测试,但我认为你应该在应用代码时做一些事情,所以
woocommerce_applied_coupon
钩子是相关的 .我没有测试的部分是这是否会覆盖现有的“运费”,或者您是否需要找到一种方法来先删除它 .
以下功能将为您的woo-commerce Cart添加运费,之后会增加结账价格 .
如果您想将自定义优惠券应用于运费,您可以采取一些措施
要使用此方法,您需要使用优惠券按钮将优惠券名称提交到购物车页面 .
从上一页开始,或者您可以将其提交到它所在的同一页面 . 无论哪种方式,您的页面都必须刷新,以便您可以使用
希望这个答案有所帮助:)