I want to display the remaining number of the coupon on the WooCommerce thankyou page
For example: You used the test coupon 3 times and there are 10 more left.
This is my code:
add_action('woocommerce_after_cart_table', 'coupon_count');
function coupon_count() {
global $woocommerce;
if ( ! empty( $woocommerce->cart->applied_coupons ) ) {
$my_coupon = $woocommerce->cart->get_coupons() ;
foreach($my_coupon as $coupon){
if ( $post = get_post( $coupon->id ) ) {
$counter = $coupon->get_usage_count();
echo "<span class='name-coupon'><b>Total usage for coupon </b><b>'</b><b>".$coupon->code."</b><b>'</b><b>: </b></span>";
echo "<span class='coupon-counter'>".($counter)."</span>";
}
}
}
}
But I have two problems:
1.With this code, only the number of times used is displayed and the remaining number is not displayed.
2.Replacing woocommerce_after_cart_table
with woocommerce_thankyou
on the thankyou page does not execute the code.
2
Answers
Instead of using the cart object, the order object is used on the thankyou page. So we’re going to use that object instead
You can use get_usage_limit_per_user() to get coupon usage limit per customer (for a single customer)
OR use get_usage_limit() to get coupon usage limit.
So you get: