php - WooCoomerce WC_Abstract_Order::get_coupon_codes PHP 致命错误
问题描述
我正在尝试使用新的 WC_Abstract_Order::get_coupon_codes() 方法来获取订单中的优惠券代码。这是之前的工作片段:
$coupons = $order->get_used_coupons();
$nCoupons = count($coupons);
if($nCoupons == 1)
$descrizioneCoupon = 'Coupon ' . $coupons[0];
else if($nCoupons > 1)
{
$descrizioneCoupon = 'Coupons ';
for($i=0;$i<$nCoupons;$i++)
{
$descrizioneCoupon .= $coupons[$i];
if($i<$nCoupons-1)
{
$descrizioneCoupon .= ', ';
}
}
}
所以我试图用这个替换第一行:
$coupons = \WC_Abstract_Order::get_coupon_codes();
我正在这样做,因为get_used_coupons()
已弃用。
结果,我收到此错误消息:
Fatal error: Uncaught Error: Using $this when not in object context ...
有什么建议么?谢谢
解决方案
这里的解决方案只是替换:
$coupons = $order->get_used_coupons();
// OR:
// $coupons = \WC_Abstract_Order::get_coupon_codes();
经过:
$order->get_coupon_codes();
不要使用
\WC_Abstract_Order
,始终使用WC_Order
实例对象$order