Preorvo_Orders::STATUS, 'limit' => -1, 'return' => 'ids', 'order' => 'ASC', ) ); foreach ( $ids as $id ) { $order = wc_get_order( $id ); if ( ! $order || Preorvo_Orders::release_time( $order ) ) { continue; } self::release( $order, __( 'Pre-order released: release date reached.', 'preorvo' ) ); ++$released; } return $released; } public static function release( $order, $note ) { $order->update_meta_data( Preorvo_Orders::META_RELEASED, 'yes' ); $order->update_status( 'processing', $note ); $mailer = WC()->mailer(); $emails = $mailer->get_emails(); if ( isset( $emails['Preorvo_Email_Released'] ) ) { $emails['Preorvo_Email_Released']->trigger( $order->get_id(), $order ); } } public static function new_order_emails( $order_id, $order ) { $emails = WC()->mailer()->get_emails(); if ( isset( $emails['WC_Email_New_Order'] ) ) { $emails['WC_Email_New_Order']->trigger( $order_id, $order ); } if ( isset( $emails['Preorvo_Email_Received'] ) ) { $emails['Preorvo_Email_Received']->trigger( $order_id, $order ); } } public static function register_emails( $emails ) { require_once __DIR__ . '/class-emails.php'; $emails['Preorvo_Email_Received'] = new Preorvo_Email_Received(); $emails['Preorvo_Email_Released'] = new Preorvo_Email_Released(); return $emails; } }