Create once Coupon in Woocommerce via Hook

Viewed 63

I'm trying create once coupon But by default, many coupons are produced and their production does not stop I created a plugin to create coupons and wrote codes that I put below

add_action('wp_loaded' , 'create_coupon');
function create_coupon(){
    $coupon = new wc_coupon();
    $coupon->set_code('customcode'); // create coupon code
    $coupon->set_amount(300); // discount amount

    $coupon->save();
}

What this code does: this code create many coupon but I need once coupon what should i do ?

1 Answers

You can use wc_get_coupon_id_by_code to check coupon code is already exist or not.

function create_coupon(){
    $coupon = new wc_coupon();
    if( !wc_get_coupon_id_by_code( 'customcode' ) ) {
        $coupon->set_code('customcode'); // create coupon code
        $coupon->set_amount(300); // discount amount
        $coupon->save();        
    }

}
add_action('wp_loaded' , 'create_coupon');
Related