HTML
<form id="form-modal-job-<?php the_ID(); ?>" class="form-modal-job" enctype="multipart/form-data">
<div class="title-modal">Оставить звявку на вакансию</div>
<div class="descr-modal">Укажите ваши контакты, чтобы мы с вами связались</div>
<input type="text" name="name" placeholder="Имя*" required>
<input type="text" name="phone" placeholder="Ваш телефон или email*" required>
<input type="file" name="file" placeholder="Прикрепите резюме">
<label class="polit-form">
<input name="polit" type="checkbox" checked="checked" required>
<span class="checkmark">Я ознакомился с <a href="/privacy-policy/" target="_blank">политикой конфиденциальности</a></span>
</label>
<button class="btn">Отправить заявку</button>
<div class="socials">
<div class="descr-modal">либо напишите нам в соц. сетях</div>
<a class="soc--inner whatsapp" href="https://api.whatsapp.com/send?phone=<?php the_field('whatsapp', 'option'); ?>&text=Здравствуйте%2C%20у%20меня%20возникли%20вопросы%2C%20можете%20помочь%3F%20😊" target="_blank" title="Написать в WhatsApp"></a>
<a class="soc--inner telegram" href="https://t.me/<?php the_field('telegram', 'option'); ?>" title="Telegram"></a>
</div>
<input type="hidden" name="formData" value="Откликнулись на вакансию <?php the_title(); ?> (<?php the_permalink(); ?>), заявка с сайта <?php echo get_home_url(); ?>">
<input type="hidden" name="mailsend" value="dedmund@yandex.ru">
<!-- <input type="hidden" name="mailsend" value="<?php the_field('email', 'option'); ?>">-->
</form>
LESS
mail-file.php
<?php
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
if (isset($_POST['mailsend'])) {$mailsend = $_POST['mailsend'];}
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['formData'])) {$formData = $_POST['formData'];}
// Дополнительные данные о файле
$file_name = $_FILES['file']['name'];
$file_tmp = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$to = "$mailsend";
$sendfrom = "info@danilsmg.ru";
$subject = "$formData";
$boundary = md5(uniqid(time()));
$headers = "From: " . strip_tags($sendfrom) . "\r\n";
$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\r\n\r\n";
$message = "--" . $boundary . "\r\n";
$message .= "Content-Type: text/html; charset=UTF-8\r\n";
$message .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$message .= "<h3>" . $formData . "</h3><br>";
$message .= "<b>Имя:</b> " . $name . "<br>";
$message .= "<b>Телефон или Email:</b> " . $phone . "<br>";
$message .= "\r\n\r\n";
// Добавление файла к письму
$file_content = file_get_contents($file_tmp);
$file_content = chunk_split(base64_encode($file_content));
$message .= "--" . $boundary . "\r\n";
$message .= "Content-Type: application/octet-stream; name=\"" . $file_name . "\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: attachment; filename=\"" . $file_name . "\"\r\n\r\n";
$message .= $file_content . "\r\n\r\n";
$message .= "--" . $boundary . "--";
$send = mail($to, $subject, $message, $headers, '-finfo@danilsmg.ru');
if ($send == 'true') {
echo '';
}
} else {
http_response_code(403);
echo "";
}
?>
JS
(function(){
$(document).ready(function () {
$(".form-modal-job").submit(function (event) {
event.preventDefault(); // Отменить стандартное поведение отправки формы
var formID = $(this).attr('id');
var formNm = $('#' + formID);
var formData = new FormData(formNm[0]); // Используем первый элемент формы
console.log("Form data:", formData);
$.ajax({
type: "POST",
url: '/wp-content/themes/shablon/mail-file.php',
data: formData, // Используем объект FormData в качестве данных
processData: false, // Отключаем автоматическую обработку данных
contentType: false, // Отключаем установку типа контента
success: function (data) {
$('.modal-smg_boby').fadeOut();
$('.modal-smg-thanks').fadeIn();
},
error: function (jqXHR, text, error) {
$(formNm).html(error);
}
});
return false;
});
});
})();