Last active
January 3, 2024 14:50
-
-
Save ianhampton/eee8f8ea1a6280db8bbae3944c07a451 to your computer and use it in GitHub Desktop.
Dynamically add file attachments to Contact Form 7 emails from a custom field
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* Dynamically add file attachments to Contact Form 7 emails from a Wordpress custom field. | |
* Custom field is 'case-pdf' in the example. | |
*/ | |
add_action('wpcf7_before_send_mail', 'wpcf7_add_attachment'); | |
function wpcf7_add_attachment($contact_form) { | |
global $_POST; | |
$submission = WPCF7_Submission::get_instance(); | |
if ( $submission && !empty($_POST['case-pdf']) ) { | |
$mail = $contact_form->prop('mail'); | |
$mail['attachments'] .= $_POST['case-pdf']; | |
$contact_form->set_properties(array('mail' => $mail)); | |
} | |
} |
It does not really work for me. What about path? Where should path to file be assigned, and what is default?
BRO: I used this for my Path
if($cf7->id == 3990) {
$mail = $cf7->prop('mail');
$mail['attachments'] = './wp-content/themes/autocardivi/sample.pdf';
$cf7->set_properties(array( "mail" => $mail));
}
add_action("wpcf7_before_send_mail", "Pdfdownload_test_func");
Hello,
What's custom fiels do you use ? i tried with this input :
[dynamichidden PDF id:PDF "uploads/pdf/Full_lighting_price_list.pdf"]
Not working :-(
Tried this code too :
function send_pdf( $wpcf7 ) { $id = $wpcf7->id(); if ($id==215){ $uploads = wp_upload_dir(); define ('MY_FILE_PATH',$uploads['path'].'/pdf/'); $copy_to_send=MY_FILE_PATH.'Full_lighting_price_list.pdf'; $mail = $wpcf7->prop('mail'); $mail['attachments'] = $copy_to_send; $wpcf7->set_properties(array( "mail" => $mail )); } } add_action('wpcf7_before_send_mail','send_pdf', 100);
Can you help me please ?
BRO: you're a legend, more blessings to you and you're family :D could you explain in details what those "$mail = $wpcf7->prop('mail');" & "$wpcf7->set_properties(array( "mail" => $mail ));" does, where you got this method, my feature worked, this is all I need, you're awesome <3
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For me it only worked this way: