Создайте PDF (TCPDF) и отправьте его с контактной формой 7 - PullRequest
0 голосов
/ 16 мая 2019

Я хочу отправить электронное письмо с контактной формой 7 со своего сайта WordPress, и, если электронное письмо будет отправлено, я хочу запустить функцию, которая создает PDF-файл с TCPDF, и прикрепить этот файл к электронной почте.

Создание самого PDF занимает 10 секунд.

Функция и сама форма работают отлично, но если я добавлю код для запуска функции generateThePDF и отправлю форму, я увижу только загрузочный счетчик рядом с отправкойКнопка и ничего не происходит.

Если я вручную установить путь к существующему файлу PDF, он отлично работает.Возможно, время для генерации занимает слишком много времени?

Вот мой хук WordPress из functions.php:

add_action('wpcf7_before_send_mail','send_pdf');
function send_pdf( $cf7 ) {

    include_once('/web/pdf/view/my-functions.php');

    $id = $cf7->id();
    $submission = WPCF7_Submission::get_instance();

    if ($submission)
    {
        // will start generating pdf and receive the filename and store it to var
        $generatedPDF = generateThePDF();
        $submission->add_uploaded_file('pdf', $generatedPDF);
    }

}

Теперь мой my-functions.php с кодом tcpdf:

function generateThePDF(){

    // create new PDF document
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

    ... lot of code ...

    // generate pdf and return path if finished
    $file = '/web/pdf/view/output/pdf_'.time().'.pdf';
    $pdf->Output($file, 'F');
    return $file;

}

В консоли браузера я найду это после ожидания 3 секунд:

XHR завершил загрузку: POST ".... com / wp-json / contact-form-7 / v1 /contact-forms / 4629 / feedback ".

Не знаю, важно ли это для моего вопроса.

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...