Dynamically add file attachments to Contact Form 7 emails from a custom field
<?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));
}
}