Reputation: 137
I'm trying to use new WC_Abstract_Order::get_coupon_codes() methods to get coupon codes in an order. This was the previous working snippet:
$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 .= ', ';
}
}
}
So I'm trying to replace the first line with this one:
$coupons = \WC_Abstract_Order::get_coupon_codes();
I'm doing this since get_used_coupons()
is deprecated.
As a result I get this error message:
Fatal error: Uncaught Error: Using $this when not in object context ...
Any suggestions? Thanks
Upvotes: 2
Views: 4152
Reputation: 253784
The solution here is simply to replace:
$coupons = $order->get_used_coupons();
// OR:
// $coupons = \WC_Abstract_Order::get_coupon_codes();
by:
$order->get_coupon_codes();
Don't use
\WC_Abstract_Order
, always use theWC_Order
instance object$order
Upvotes: 2