LLMS_Controller_Orders::complete_order( obj $order, string $old_status )
Perform actions on a successful order completion
Description Description
Parameters Parameters
- $order
-
(obj) (Required) Instance of an LLMS_Order
- $old_status
-
(string) (Required) Previous order status (eg: 'pending')
Return Return
(void)
Source Source
File: includes/controllers/class.llms.controller.orders.php
public function complete_order( $order, $old_status ) { // clear expiration date when moving from a pending-cancel order if ( 'pending-cancel' === $old_status ) { $order->set( 'date_access_expires', '' ); } // record access start time & maybe schedule expiration $order->start_access(); $order_id = $order->get( 'id' ); $product_id = $order->get( 'product_id' ); $user_id = $order->get( 'user_id' ); unset( LLMS()->session->llms_coupon ); // trigger order complete action do_action( 'lifterlms_order_complete', $order_id ); // @todo used by AffiliateWP only, can remove after updating AffiliateWP // enroll student llms_enroll_student( $user_id, $product_id, 'order_' . $order_id ); // trigger purchase action, used by engagements do_action( 'lifterlms_product_purchased', $user_id, $product_id ); do_action( 'lifterlms_access_plan_purchased', $user_id, $order->get( 'plan_id' ) ); // maybe schedule a payment $order->maybe_schedule_payment(); }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |
User Contributed Notes User Contributed Notes
Permalink: