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, он не видел события, ничего лучше не придумал, кроме как сделать вот так
Это ты файл плагина изменил, или добавил такой код у себя на сайте?
Файл contact form с js скриптами изменил, что б он при появлении формы инициализировал ее. Все работает, но одна проблема осталась, гугл капча отказывается по аяксу грузится, не могу понять в чем дело...
Если ты файл плагина изменил, изменения же слетят при очередном обновлении плагина.