Я использую mpdf для wordpress для создания PDF-файлов. Я работаю над функциональностью, которая будет отправлять еженедельный отчет моим пользователям, и этот отчет должен быть отправлен по электронной почте, а pdf будет прикреплен по электронной почте.генерировать еженедельный отчет pdf с mpdf - functions.php
Моя проблема заключается в том, что я запускаю код в файле functions.php, потому что для запуска этого кода каждую неделю я собираюсь использовать работу cron на стороне сервера, а моя функция должна находиться внутри файла functions.php для его выполнения. Поэтому я добавил этот код в файл functions.php:
function weeklyReportFunc(){
include('mpdf/mpdf.php');
$mpdf = new mPDF();
ob_start();
require get_template_directory() . '/includes/report.php';
$x = ob_get_contents();
ob_end_clean();
$mpdf->WriteHTML($x);
$today = date('Y-m-d');
$pdfName = 'weekly-report-'.$today;
$mpdf->Output($pdfName.'.pdf', 'D');
}
И это показывает мне ниже ошибки:
Warning: Cannot modify header information - headers already sent by (output started at
/home/user/public_html/doms/wp-admin/includes/template.php:1995) in /home/user/public_html/
doms/wp-content/themes/mytheme/mpdf/mpdf.php on line 8314
Warning: Cannot modify header information - headers already sent by (output started at
/home/user/public_html/doms/wp-admin/includes/template.php:1995) in
/home/user/public_html/doms/wp-content/themes/mytheme/mpdf/mpdf.php on line 1706
mPDF error: Some data has already been output to browser, can't send PDF file
Как я могу решить эту проблему? Может быть, мне нужно использовать мою функцию в каком-то действии? но какой? Любые идеи, пожалуйста?
check: /home/user/public_html/doms/wp-admin/includes/template.php:1995 Часто проблема заключается в пробеле в конце php-файла (удалите закрывающие теги php, чтобы предотвратить это) –
, но это файл wordpress core. Если я удалю закрывающий тег php, то при следующем обновлении мне нужно будет это сделать повторно. И то же самое при каждом обновлении wordpress. @SanderBackus – aidadev
Я проверил и на этой строке (/home/user/public_html/doms/wp-admin/includes/template.php:1 995) нет нечетного пробела/закрывающего тега, и это даже не последняя строка этот файл. Существует тег закрытия/открытия php, но он должен быть там. Любые другие предложения? @SanderBackus – aidadev