Здравствуйте. Хотел бы сразу сказать, что популярные дополнения для WP с формами мне не подходят и поэтому ищу способ отправки собственных форм из модального окна.
Схема примерно следующая: На обычных страницах WP(page.php) подключён скрипт Fancybox, он и помогает с Popups. Они срабатывают по нажатию на кнопки с помощью jQuery. На самой странице есть код html-формы в скрытом виде, появляется только внутри модального окна. Дальше нужно эту форму отправлять на почту, но с этим пока сложно.
JS от формы:
$(document).ready(function() {
function validatePhone(phone7) {
var reg = /[0-9,\s]/i;
return reg.test(phone7);
}
$("#calculation_form").submit(function() { return false; });
var pageurl = window.location.href;
$("#url2").val(pageurl);
$("#calculation_submit").on("click", function(){
var phoneval = $("#phone7").val();
var phonevalid = validatePhone(phoneval);
if(phonevalid == false) {
$("#phone7").addClass("error");
}
else if(phonevalid == true){
$("#phone7").removeClass("error");
}
$('#calculation_form .custom_checkbox').each(function() {
if($(this).prop('checked')) {
$(this).val('Да');
}
});
if(phonevalid == true) {
$.ajax({
type: 'POST',
url: '/script/phpmailer.php',
data: $("#calculation_form").serialize(),
success: function(data) {
if(data == "true") {
$("#calculation_popup").fadeOut("fast", function(){
$(this).before("<div class='success_msg'>Ваша заявка успешно отправлена!<br>С Вами свяжутся в ближайшее время.</div>");
setTimeout("$.fancybox.close()", 3000);
});
$('#calculation_form').each(function(){
this.reset();
});
}
}
});
}
});
});
Собственно вопрос: каким образом связать action="" от формы с обычной страницы WP с phpmailer для отправки письма? Наверняка здесь есть подводные камни и нужно копаться в functions.php или учитывать особенность CMS.
На многих ресурсах(напр.) пишут, что похожее можно сделать с помощью admin-post.php, но я так понимаю нужно целиком форму вместе с html написать в PHP-файле и на странице WP, в модальном окне каким-то образом вызывать этот .php. Так же, есть множество англоязычных статей по поводу контактной формы без плагинов(напр.), но это всё же не то и мне не нужна одна конкретная страница. Это окно с формой должно использоваться на многих страницах.
Буду рад любой полезной информации. Мне не нужна полностью готовая практическая часть(хотя было бы не плохо), хотя бы теоретические действия, чтобы разобраться как это работает.
Собственно в ваших рассуждениях есть доля правды. Можно сделать так как вы говорите
За вами остается:
PS все можно сделать более нативным способом посредством движка WP. см хук wp_ajax_my_action (и по аналогии можете найти хуки, для иных условий).
Данный ответ передает моё личное видение решения задачи
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно достать число от 4-6 символом из строки, что бы после неё не стояло через любое кол-во пробелов "руб" или "руб" Делаю так:
Хочу сделать небольшой опросник, в котором для уникальности каждого конкретного пользователя, используется его локальный ip-адресСайт находится...
Есть ссылка на сайт, перейдя по которой на сайте выполняется определенное действиеНа этот сайт открыт доступ только некоторым ip (моему серверу)...