Как передать загруженный файл в
<input type="file" name="attach" id="file">
используя Ajax.
И как принять этот файл чтобы записать его в $attachments, для дальнейшего прикрепления ко вложениям письма?
add_action('wp_footer', 'my_action_javascript', 99);
function my_action_javascript() {
?>
<script type="text/javascript" >
$("#vacancy_form").submit(function(e) {
e.preventDefault();
var data = new FormData(this);
data.append('action', 'my_action');
$.ajax({
url : myajax.url,
type : 'POST',
processData: false,
contentType: false,
data : data,
success : function (msg){
alert('Ответ: ' + msg);
}
});
});
</script>
<?php
}
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback() {
$attachment =????;
$project_name = trim($_POST["project_name"]);
$admin_email = "titamik777@yandex.ru";//trim($_POST["admin_email"]);
$form_subject = trim($_POST["form_subject"]);
foreach ( $_POST as $key => $value ) {
if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
$message .= "
" . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
<td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
<td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
</tr>
";
}
}
$message = "<table style='width: 100%;'>$message</table>";
function adopt($text) {
return '=?UTF-8?B?'.Base64_encode($text).'?=';
}
$headers = "MIME-Version: 1.0" . PHP_EOL .
"Content-Type: text/html; charset=utf-8" . PHP_EOL .
'From: '.adopt($project_name).' <'.$admin_email.'>' . PHP_EOL .
'Reply-To: '.$admin_email.'' . PHP_EOL;
wp_mail($admin_email, adopt($form_subject), $message, $headers, $attachment);
wp_die();
}