LLMS_Coupon::is_valid( int $plan_id )

Perform all available validations and return a success or error message


Parameters Parameters

$plan_id

(int) (Required) WP Post ID of an LLMS Access Plan


Top ↑

Return Return

(WP_Error|true) If true, the coupon is valid, if WP_Error, there was an error


Top ↑

Source Source

File: includes/models/model.llms.coupon.php

276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
public function is_valid( $plan_id ) {
 
    $msg = false;
 
    $plan = new LLMS_Access_Plan( $plan_id );
 
    if ( ! $this->has_remaining_uses() ) {
 
        $msg = __( 'This coupon has reached its usage limit and can no longer be used.', 'lifterlms' );
 
    } elseif ( $this->is_expired() ) {
 
        $msg = sprintf( __( 'This coupon expired on %s and can no longer be used.', 'lifterlms' ), $this->get_date( 'expiration_date', 'F d, Y' ) );
 
    } elseif ( ! $this->applies_to_product( $plan->get( 'product_id' ) ) ) {
 
        $msg = sprintf( __( 'This coupon cannot be used to purchase "%s".', 'lifterlms' ), get_the_title( $plan->get( 'product_id' ) ) );
 
    } elseif ( ! $this->applies_to_plan( $plan ) ) {
 
        $msg = sprintf( __( 'This coupon cannot be used to purchase "%s".', 'lifterlms' ), $plan->get( 'title' ) );
 
    }
 
    // Error encountered.
    if ( $msg ) {
 
        $ret = new WP_Error();
        $ret->add( 'error', apply_filters( 'lifterlms_coupon_validation_error_message', $msg, $this ) );
 
    } else {
 
        $ret = true;
 
    }
 
    return apply_filters( 'llms_coupon_is_valid', $ret, $plan, $this );
 
}


Top ↑

Changelog Changelog

Changelog
Version Description
3.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.