AJAXS подставляется свои данные в URL формы Contact form 7
Никак не могу понять такую штуку. AJAXS обращается к функции, в которой создается всплывающее окно с формой Contact 7, но по непонятной мне логике атрибут action при выводе формы в итоге выглядит так
action="/wp-admin/admin-ajax.php?action=ajaxs_action&ajaxs_nonce=f7f4e21bdf&jxs_act=ajaxs_render_event#wpcf7-f90-o2"
Почему туда подставляется этот кусок обращения к admin-ajax?
Можно код, не понятно толком что за проблема.
При создании формы, ты в action атрибут что указываешь вообще? Походу туда ставиться текущий URL, а он для ajaxs запроса именно такой:
/wp-admin/admin-ajax.php?action=ajaxs_action&ajaxs_nonce=f7f4e21bdf&jxs_act=ajaxs_render_event
Укажи правильный action для формы вручную.
Там action формирует плагин Contact Form 7, вот как это происходит
<?php
function render_callback_form()
{
$callback = '
<div id="callback_form" class="dialog" style="display: none">
<div class="menu__search-modal fancybox-content" id="callback" style="display: inline-block;">
<a href="#" class="link close">✕</a>
<div class="callback">Заказ обратного звонка</div>
' . do_shortcode('[contact-form-7 id="15" title="Контактная форма 1"]') . '
</div>
</div>';
return $callback;
}
function ajaxs_render_event($jx)
{
$render = 'render_' . $jx->event_id;
$jx->done($render($jx));
} в action должно вот что быть: /#wpcf7-f90-o1
Тут в примере смотри решение: https://wp-kama.ru/plugin/contact-form-7/hook/wpcf7_form_action_url
Код не тестировал, если что с тебя багрепорты.
Спасибо, заработала.
Там слеш нужен. И еще пришлось покопаться в js файле Contact Form, он не видел события, ничего лучше не придумал, кроме как сделать вот так
function initForm() { $('div.wpcf7 > form').each(function () { var $form = $(this); wpcf7.initForm($form); if (wpcf7.cached) { wpcf7.refill($form); } }); } initForm(); $(document).one("DOMNodeInserted", '#callback_form', function (event) { initForm(); });Это ты файл плагина изменил, или добавил такой код у себя на сайте?
Файл contact form с js скриптами изменил, что б он при появлении формы инициализировал ее. Все работает, но одна проблема осталась, гугл капча отказывается по аяксу грузится, не могу понять в чем дело...
Если ты файл плагина изменил, изменения же слетят при очередном обновлении плагина.