Постоянная загрузка при отправке писем — Contact Form 7

Большинство блогеров столкнулись с «проблемой» в плагине Contact Form 7, а именно с бесконечной загрузкой при отправке писем. Или же не работает Ajax и письмо отправляется с перезагрузкой страницы. Так быть не должно. Несмотря на то что это насовсем «свежая» задача, оно продолжает распространяться и по сей день.

проблемы с contact form 7

В действительности, плагин 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' );
Важно! После удаления отключения событий в functions.php обязательно зайдите в админку в раздел «Постоянные ссылки» и просто нажмите на кнопку «Сохранить изменения». Тогда только проверяйте результат. Это действие выполните и после отключения плагинов, если такие будут.

Не работает 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>

Если эти скрипты подключены, тогда, возможно, вы устанавливали какой-то крючок или плагин, который позволяет подключать скрипты только там, где есть форма. Таких решений есть много и написаны они по-разному, в том числе и некорректно. Попробуйте удалить подобные хуки.

Но, если ничего такого не делали, тогда попробуйте изменить тему оформления и посмотреть, что получится. Если не даст результата, то пробуйте отключать по одному плагины. Бывает такое, что появляются разные конфликты.

Один комментарий
Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *