Я решил задать этот вопрос, потому что на него нет простого ответа. У меня есть форма контакта в моем home.php, который выглядит как:
HTML:
<form id="js-calculator" name="calculator" action="" method="post">
<input type="email" name="email" id="email" placeholder="E-mail" />
<input type="tel" name="phone" id="phone" placeholder="Phone" />
<textarea name="message" id="message" placeholder="Message"></textarea>
<label for="accept"><input class="" type="checkbox" id="accept" name="accept" /> I agree to terms and conditions</label>
<button type="submit" id="send__btn">Wyślij wycenę</button></p>
</form>
JavaScript:
jQuery(document).ready(function ($) {
$('#js-calculator').submit(function (e) {
e.preventDefault();
var $this = $(this);
$.ajax({
url: '<?php echo admin_url("admin-ajax.php") ?>',
type: 'post',
dataType: 'JSON',
data: $this.serialize()
}
});
});
});
PHP в functions.php
// Function to send emails
function sendMail() {
$subject = 'Automatic evaluation';
$headers = 'From: My Website Contact Form <[email protected]>';
$send_to = "[email protected], ". $_POST['email'];
$subject = "Evaluation for ". $_POST['name'];
$message = "Message from ".$_POST['message'];
}
add_action('wp_ajax_sendhtmlmail', 'sendMail');
add_action('wp_ajax_nopriv_sendhtmlmail', 'sendMail');
add_filter('wp_mail_content_type', 'set_content_type');
function set_content_type($content_type) {
return 'text/html';
}
// Function to update DB
function addCustomer(){
global $wpdb;
$phone = $_POST['phone'];
$email = $_POST['email'];
$accept = $_POST['accept'];
if($wpdb->insert('customers',array(
'phone'=>$phone,
'email'=>$email,
'accept'=>$accept
))===FALSE){
echo "Error";
} else {
$wpdb->insert_id;
}
die();
}
add_action('wp_ajax_addCustomer', 'addCustomer');
add_action('wp_ajax_nopriv_addCustomer', 'addCustomer');
Что Я хотел бы достичь: 1. Отправьте HTML-письмо клиенту и t o веб-сайт admin, 2. Добавить данные клиента в базу данных, проверить, существует ли электронная почта, 3. иметь безопасные соединения и поток данных;
Прямо сейчас я понятия не имею, что я сделал неправильно ... Любая помощь будет очень признательна.
скопировали вы ваш PHP правильно? Он неверно отформатирован в вопросе, потому что ваш PHP недействителен: '$ subject = 'Автоматическая оценка;' <- отсутствует закрытие '' '. –
Ваш код не включает функцию 'wp_mail()', поэтому он не собирается отправлять какие-либо письма. Вам нужно предоставить лучшее описание того, что не работает. Существует ли конкретный аспект, который не работает? –
Да, вы правы @KirkBeard, мне нужно обновить весь вопрос. –