LLMS_Controller_Orders::error_order( int|WP_Post|LLMS_Order $order )
Called when an order’s status changes to refunded, cancelled, expired, or failed.
Description Description
Also called on product deletion detected while processing a recurring charge.
Parameters Parameters
- $order
-
(int|WP_Post|LLMS_Order) (Required) Instance of an LLMS_Order, WP_Post or WP_Post ID of the order.
Return Return
(void)
Source Source
File: includes/controllers/class.llms.controller.orders.php
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | public function error_order( $order ) { $order = is_a ( $order , 'LLMS_Order' ) ? $order : llms_get_post( $order ); if ( ! ( $order && is_a ( $order , 'LLMS_Order' ) ) ) { return ; } $order ->unschedule_recurring_payment(); /** * Determine if student should be unenrolled on order error. * * @since 4.2.0 * * @param bool $unenroll_on_error_order True if the student should be unenrolled, false otherwise. Default true. * @param LLMS_Order $order Order object. */ if ( ! apply_filters( 'llms_unenroll_on_error_order' , true, $order ) ) { return ; } switch ( current_filter() ) { case 'lifterlms_order_status_trash' : case 'lifterlms_order_status_cancelled' : case 'lifterlms_order_status_on-hold' : case 'lifterlms_order_status_refunded' : case 'llms_order_recurring_charge_aborted_product_deleted' : $status = 'cancelled' ; break ; case 'lifterlms_order_status_expired' : case 'lifterlms_order_status_failed' : default : $status = 'expired' ; break ; } llms_unenroll_student( $order ->get( 'user_id' ), $order ->get( 'product_id' ), $status , 'order_' . $order ->get( 'id' ) ); } |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
5.4.0 | Unenroll with 'cancelled' status on 'llms_order_recurring_charge_aborted_product_deleted'. The $order param can be also a WP_Post or its ID . |
4.2.0 | Added llms_unenroll_on_error_order filter hook. |
3.10.0 | Unknown. |
3.0.0 | Introduced. |