Сайт на Wordpress. На сайте есть форма, инпуты созданы с помощью плагина ACF | Advanced Custom Fields, через повторитель.
Как все поля отправить через почту? Полей очень много, каждой вручную присваивать переменную думаю не вариант. В Php не силен, может есть решения как наподобие в js собрать в массив с помощью serialize и отправить на почту.
Обработчик отправки
<?php
$post = (!empty($_POST)) ? true : false;
if($post) {
$email = htmlspecialchars(trim($_POST['email']));
$name = htmlspecialchars(trim($_POST['name']));
$sub = htmlspecialchars(trim($_POST["sub"]));
$message = htmlspecialchars(trim($_POST['message']));
$error = '';
if(!$name) {$error .= 'Укажите свое имя. ';}
if(!$email) {$error .= 'Укажите электронную почту. ';}
if(!$sub) {$error .= 'Укажите тему обращения. ';}
if(!$message || strlen($message) < 1) {$error .= 'Введите сообщение. ';}
if(!$error) {
$address = "mail@example.ru";
$mes = "Почта: ".$email."\n\nИмя: ".$name."\n\nТема: " .$sub."\n\nСообщение: ".$message."\n\n";
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = UTF-8\r\nReply-To:$email\r\nFrom:$name <contact>");
if($send) {echo 'OK';}
}
else {echo '<div class="err">'.$error.'</div>';}
}
?>
jQuery(document).ready(function($) {
$("#form").submit(function() {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "/wp-content/themes/form/phpmailer/send.php",
data: str,
success: function(msg) {
if(msg == 'OK') {
result = '<div class="ok">Сообщение отправлено</div>';
$("#fields").hide();
}
else {result = msg;}
$('#note').html(result);
}
});
return false;
});
});