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
Return Return
(WP_Error|true) If true, the coupon is valid, if WP_Error, there was an error
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 ); } |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |