Отправить много писем, сохраненных с циклом на CF7 - PullRequest
0 голосов
/ 26 октября 2019

Я получаю письма из контактной формы 7 DB. Я пытаюсь отправить письмо, которое было отправлено.

Мой код выглядит следующим образом:

$results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}db7_forms
WHERE form_post_id = 1146");

foreach($results as $result){

  $content = unserialize($result->form_value);
  $_POST = $content;

  $contact_form = WPCF7_ContactForm::get_instance($form1);
  $submission = WPCF7_Submission::get_instance($contact_form);
}

Мой запрос возвращает 2 сохраненные формы. Я получаю первое электронное письмо, но второе электронное письмо не отправляется, потому что отправка $ равна NULL. Когда я смотрю код CF7, вторая почта возвращает ноль, потому что self :: $ instance не пусто ... Мне нужно "сбросить" эту переменную, но я не могу, потому что это личная переменная ...

plugins \ contact-form-7 \ includes \ submission.php

public static function get_instance( WPCF7_ContactForm $contact_form = null, $args = '' ) {
        $args = wp_parse_args( $args, array(
            'skip_mail' => false,
        ) );

        if ( empty( self::$instance ) ) {
            if ( null == $contact_form ) {
                return null;
            }

            self::$instance = new self;
            self::$instance->contact_form = $contact_form;
            self::$instance->skip_mail = (bool) $args['skip_mail'];
            self::$instance->setup_posted_data();
            self::$instance->submit();
        } elseif ( null != $contact_form ) {
            return null;
        }

        return self::$instance;
    }

Если кто-нибудь когда-либо сталкивался с этой проблемой, спасибо за помощь

...