/** * Queue date-based emails * @param WC_Order $order * @return array */ public function queue_date_emails($order) { $queued = array(); $triggers = $this->get_order_triggers($order); $emails = fue_get_emails('any', FUE_Email::STATUS_ACTIVE, array('meta_query' => array(array('key' => '_interval_type', 'value' => 'date')))); foreach ($emails as $email) { // skip date emails that have passed if (FUE_Sending_Scheduler::send_date_passed($email->id)) { continue; } $insert = array('send_on' => $email->get_send_timestamp(), 'email_id' => $email->id, 'product_id' => $email->product_id, 'order_id' => $order->id); if (!is_wp_error(FUE_Sending_Scheduler::queue_email($insert, $email))) { $queued[] = $insert; } } return $queued; }