При отправке приходит пустая форма.
Не могу правильно написать функцию обработчик.
прошу помощи!
Форма:
<form action="" method="POST" class="form form--contact js-contact-form-submit" autocomplete="off">
<div class="form__group">
<label for="contact_name" class="form__label">Client/Agency</label>
<input type="text" class="form__input" name="contact_name" placeholder="Client/Agency" required>
</div>
<div class="form__group">
<label for="contact_website" class="form__label">Website</label>
<input type="text" class="form__input" name="contact_website" placeholder="Website" required>
</div>
<div class="form__group">
<label for="contact_email" class="form__label">Email</label>
<input type="email" class="form__input" name="contact_email" placeholder="Email" required>
</div>
<div class="form__group form__group--actions">
<button type="submit" class="form__button" name="contact_submit">Send.</button>
<input type="hidden" id="_wpnonce" name="_wpnonce" value="b0d62ace00" /><input type="hidden" name="_wp_http_referer" value="/contact/" /> </div>
</form>
Скрипт:
$.ajax({
type: "post",
url: Oe,
dataType: "json",
data: {
action: "handle_contact_form",
data: t.serialize()
},
success: function(e) {
200 == e.status && n.children().fadeOut(500, function() {
n.children().remove(),
n.append('<p class="response">Большое спасибо за ваш интерес!<br />Мы скоро с вами свяжемся.</p>')
})
}
})
}),
Обработчик:
add_action('wp_ajax_nopriv_handle_contact_form', 'my_action_callback');
add_action('wp_ajax_handle_contact_form', 'my_action_callback');
function my_action_callback() {
$response = [
];
$to_mail = 'info@a358.ru';
$subject = 'Контакты';
$name = $_POST['contact_name'];
$phone = $_POST['contact_website'];
$email = $_POST['contact_email'];
$message = 'Имя: ' . $name . '<br> Сайт: ' . $phone . '<br> Почта: ' . $email ;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: Сообщение с сайта <info@a358.ru>' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
wp_mail($to_mail, $subject, $message , $headers);
exit(json_encode($response));
}