Retrieve coupon details from coupon code WooCommerce

Suit Boy Apps picture Suit Boy Apps · Nov 27, 2017 · Viewed 13.9k times · Source

I have previously asked this question however it does not answer the question of how to retrieve data from a coupon in WooCommerce. Both questions involve coupons, however, the first question is asking how does one set the metadata and this question asks how you retrieve the data.


I am trying to get the details of a coupon from WooCommerce by the coupon code. However, I am not sure on how I should try to go about doing this.

I have tried the code below. However, it gives me the error Call to undefined function WC_Coupon()

$coupon_code = 'save10percent';
global $woocommerce;
$c = WC_Coupon($coupon_code);

How should one go about getting the details of a coupon?

Answer

Suit Boy Apps picture Suit Boy Apps · Nov 27, 2017

I figured it out. In order for the WC_Coupon function to work, I needed to add the "new" keyword prior to calling the function. As demonstrated below.

$coupon_code = 'save10percent';
global $woocommerce;
$c = new WC_Coupon($coupon_code);

Now I can get details about the coupon like so

echo "Discount Amount ".$c->amount."<br>";//Get Discount amount
echo "Discount Type ".$c->discount_type."<br>";//Get type of discount
echo "Individual Use ".$c->individual_use."<br>";//Get individual use status
echo "Usage Count ".$c->usage_count."<br>";//Get number of times the coupon has been used
echo "Uage Limit ".$c->usage_limit."<br>";//Get usage limit
echo "Coupon Description ".$c->description."<br>";//Get coupon description