LLMS_Admin_Tool_Recurring_Payment_Rescheduler::handle()
Schedules payments and expiration for an order
Description Description
Retrieves orders from the get_orders()
method and schedules a recurring payment and expiration action based on its existing calculated order data.
Return Return
(int[]) Returns an array of WP_Post IDs for orders successfully rescheduled by the method.
Source Source
File: includes/admin/tools/class-llms-admin-tool-recurring-payment-rescheduler.php
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | protected function handle() { $orders = array (); foreach ( $this ->get_orders() as $id ) { $order = llms_get_post( $id ); $next = $order ->get_next_payment_due_date(); if ( is_wp_error( $next ) && 'plan-ended' === $next ->get_error_code() ) { $order ->set( 'plan_ended' , 'yes' ); continue ; } $order ->maybe_schedule_payment( false ); $order ->maybe_schedule_expiration(); if ( $order ->get_next_scheduled_action_time( 'llms_charge_recurring_payment' ) ) { $orders [] = $id ; } } wp_cache_delete( $this ->id, 'llms_tool_data' ); wp_cache_delete( sprintf( '%s-total-results' , $this ->id ), 'llms_tool_data' ); return $orders ; } |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
4.7.0 | Set plan_ended metadata for orders with an ended plan and don't attempt to process them. |
4.6.0 | Introduced. |