$group_id, 'group_label' => $group_label, 'item_id' => $item_id, 'data' => $data, ); } return array( 'data' => $export_items, 'done' => $this->isDone($mails), ); } function erase( $email_address, $page = 1 ) { $mails = $this->queryMails($email_address, $page); $items_removed = false; $items_retained = false; $messages = []; foreach ($mails as $mail) { if($mail->delete()) { $items_removed = true; } else { $messages[] = sprintf( __( 'A mail with the id %d was unable to be removed at this time.', 'wp-mail-logging'), $mail->get_mail_id()); $items_retained = true; } } return array( 'items_removed' => $items_removed, 'items_retained' => $items_retained, // always false in this example 'messages' => $messages, // no messages in this example 'done' => $this->isDone($mails), ); } /** * True if we have more mails to work on still. * @param $mails * @return bool */ private function isDone($mails) { return count($mails) < self::PER_PAGE; } }