小编Ben*_*ont的帖子

以编程方式将优惠券应用于 WooCommerce3 中的订单

我正在开发一个直接创建订单(无购物车)并应用优惠券的插件。在 woo API 的 3.0 版中,该函数add_coupon()已被弃用,取而代之的是WC_Order_Item_Coupon您添加到订单中的对象。

创建优惠券

$coupon = new WC_Order_Item_Coupon();
$coupon->set_props(array('code' => $coupon, 'discount' => $discount_total, 
'discount_tax' => 0));
$coupon->save();
Run Code Online (Sandbox Code Playgroud)

这是成功的。我可以通过调用来验证$coupon->get_discount()

然后我将优惠券添加到订单并重新计算总数:

$order->add_item($item);
$order->calculate_totals($discount_total);
$order->save(); 
Run Code Online (Sandbox Code Playgroud)

登录 wp-admin 我可以看到带有优惠券代码的订单。但是,优惠券对行项目或总计没有影响。

是否误解了 api v3.0 打算如何处理优惠券?

php wordpress orders coupon woocommerce

5
推荐指数
2
解决办法
7483
查看次数

标签 统计

coupon ×1

orders ×1

php ×1

woocommerce ×1

wordpress ×1