Ваша форма не работает, потому что нет действия в вашей форме. Это должно быть что-то вроде:
<form method="post" action="/send-email.php">
И в send-email. php файле у вас будет функция электронной почты. Пример:
<?php
if(isset($_POST['submit'] == 'Send')) {
$ToEmail = 'sample@sample.com';
$EmailSubject = 'Contact Form';
$mailheader = "From: " . $_POST["email"] . "\r\n";
$mailheader .= "Reply-To: " . $_POST["email"] . "\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = " <strong>Name:</strong> " . $_POST["name"] . "";
$MESSAGE_BODY .= "<br> <strong>Email:</strong> " . $_POST["email"] . "";
$MESSAGE_BODY .= "<br> <strong>Telephone:</strong> " . $_POST["telephone"] . "";
$MESSAGE_BODY .= "<br><br> <strong>Message:</strong> " . nl2br($_POST["message"]) . "";
$status = mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die("Failure");
}
if($status){
echo "your success message";
}
?>
Приведенный выше код не протестирован, но он должен работать, если он настроен на поля формы. Вы можете использовать wp_mail () вместо php mail () в вышеуказанном файле.
Альтернативный способ отправить вашу форму через AJAX. Вам нужно будет отключить поведение кнопки «Отправить» по умолчанию и добавить код jQuery (или JavaScript), который при нажатии отправит данные формы через Ajax. Этот ответ или этот может помочь вам в этом.
Наконец, вы всегда можете использовать популярный плагин формы (например, CF7 ) для сэкономить много времени.