Большинство блогеров столкнулись с «проблемой» в плагине Contact Form 7, а именно с бесконечной загрузкой при отправке писем. Или же не работает Ajax и письмо отправляется с перезагрузкой страницы. Так быть не должно. Несмотря на то что это насовсем «свежая» задача, оно продолжает распространяться и по сей день.
В действительности, плагин Contact Form 7 по умолчанию работает корректно, полностью все функции. Появление подобного «дефекта» связано с тем, что в вашей теме, вы или кто-то другой (исполнитель), отключил события REST API. Такое часто случается, когда отключают через файл functions.php или подобным этому плагину, многие элементы в wp_head. Это еще называют чисткой. Так вот, рекомендуется совсем не отключать API-фильтры, так как они будут вскоре использоваться в админке. Ну, если они сильно вам мешают, то можно поискать другие решения, к примеру, закрыть запросы. В общем, отошел от темы. Решение.
Решить вопрос бесконечной загрузки в Contact Form 7
Для начала проверти все плагины, которые могут отключать, удалять и т.д. в header различные события. К примеру, Disable REST API, Clearfy и подобные им. Деактивируйте их по очереди и смотрите результат. Если это не помогло или у вас их не было установлены, тогда читаем дальше.
Открываем файл темы functions.php и ищем отключенные фильтры. Если поиск даст результат, то удаляйте их или закомментируйте. В данном случае ищем такие или похожие:
remove_action( 'init', 'rest_api_init' ); remove_action( 'parse_request', 'rest_api_loaded' );
Не работает Ajax в Contact Form 7
Если возникла такая проблема, то в первую очередь проверьте подключен ли скрипт от плагина. Для этого откройте исходный код и в самом низу найдите такие строки:
<script type='text/javascript'> /* <![CDATA[ */ var wpcf7 = {"apiSettings":{"root":"https:\/\/имясайта.ru\/wp-json\/contact-form-7\/v1","namespace":"contact-form-7\/v1"}}; /* ]]> */ </script> <script type='text/javascript' src='https://имясайта.ru/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=5.1.4'></script>
Если эти скрипты подключены, тогда, возможно, вы устанавливали какой-то крючок или плагин, который позволяет подключать скрипты только там, где есть форма. Таких решений есть много и написаны они по-разному, в том числе и некорректно. Попробуйте удалить подобные хуки.
Но, если ничего такого не делали, тогда попробуйте изменить тему оформления и посмотреть, что получится. Если не даст результата, то пробуйте отключать по одному плагины. Бывает такое, что появляются разные конфликты.