Как добавить PDF-файл с ответами в форме на мой электронный адрес Контактной формы 7 с fpdf - PullRequest
0 голосов
/ 30 апреля 2019

Я нашел для этого php-код из stackoverflow, но, похоже, он не работает с моей формой.Нужно взять результаты отправки, добавить их в переменные, а затем поместить их в PDF-документ, прикрепленный к письму, отправленному из контактной формы 7.

Я добавил приведенный ниже код в functions.php моей темы.файл.FPDF также был извлечен и помещен в папку моей темы.Когда я отправляю форму на моем веб-сайте, электронное письмо приходит нормально, но в нем нет pdf.Если бы кто-нибудь мог указать мне правильное направление, я был бы признателен.

add_action('wpcf7_before_send_mail', 'wpcf7_update_email_body');
function wpcf7_update_email_body($contact_form) {

$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
/* DEFINE CONSTANT AND GET FPDF CLASSES */
define ('FPDF_PATH',get_template_directory().'/wp-content/themes/escapade/fpdf/'); // MAKE SURE THIS POINTS TO THE DIRECTORY IN YOUR THEME FOLDER THAT HAS FPDF.PHP 
require(FPDF_PATH.'fpdf.php');

$posted_data = $submission->get_posted_data();
// SAVE FORM FIELD DATA AS VARIABLES 
$name = $posted_data["your-name"];
$email = $posted_data["your-email"];
$message = $posted_data["your-message"];
$verifyeft = $posted_data["verifyeft"];
$expensecategory = $posted_data["expensecategory-892"];
$purpose = $posted_data["your-purpose"];
$pretax = $posted_data["pretax-837"];
$tax = $posted_data["tax-424"];
$totalamount = $posted_data["totalamount-101"];

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Write(5,$name . "\n\n" . $email . "\n\n" . $message . "\n\n" . $verifyeft . "\n\n" . $expensecategory . "\n\n" . $purpose . "\n\n" . $pretax . "\n\n" . $tax . "\n\n" . $totalamount);
$pdf->Output(FPDF_PATH.'test.pdf', 'F'); // OUTPUT THE NEW PDF INTO THE SAME DIRECTORY DEFINED ABOVE

}
}

add_filter( 'wpcf7_mail_components', 'mycustom_wpcf7_mail_components' );
function mycustom_wpcf7_mail_components($components){
if (empty($components['attachments'])) {
$components['attachments'] = array(FPDF_PATH .'expenseform.pdf'); // ATTACH THE NEW PDF THAT WAS SAVED ABOVE
}
return $components;
}
...