Я хочу отправить электронное письмо с контактной формой 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 ".
Не знаю, важно ли это для моего вопроса.
Большое спасибо.