ContactForm7 показывает ошибку POST & GET при отправке сайта WordPress Woocommerce

Недавно я разработал и развернул веб-сайт на своем веб-сайте WordPress woocommerce, и после того, как я запустил веб-сайт в своем домене, появилось странное всплывающее окно с ошибкой. Раньше он работал над поддоменом разработки.

Я столкнулся с проблемой отправки ContactForm7, я получаю ошибки, когда кто-то хочет отправить контактную форму7

Ошибка, зарегистрированная на выходе консоли:

The resource https://domainhidden/wp-content/themes/Divi/core/admin/fonts/modules.ttf was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.
2DevTools failed to parse SourceMap: https://domainhidden/wp-content/themes/Divi/js/custom.unified.js.map
api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2 

POST https://domainhidden/wp-json/contact-form-7/v1/contact-forms/45143/feedback?_locale=user 403 (Forbidden)
F @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
tryCatch @ wp-polyfill.min.js?ver=7.4.4:1
invoke @ wp-polyfill.min.js?ver=7.4.4:1
t.<computed> @ wp-polyfill.min.js?ver=7.4.4:1
n @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
a @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
I @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
f @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
I @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
f @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
t @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
R @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ index.js?ver=5.4:1
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
(anonymous) @ index.js?ver=5.4:1
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
X @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
f @ index.js?ver=5.4:1
(anonymous) @ index.js?ver=5.4:1
Show 2 more frames
api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2 

GET https://domainhidden/wp-admin/admin-ajax.php?action=rest-nonce 400 (Bad Request)
(anonymous) @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
Promise.catch (async)
X @ api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561:2
f @ index.js?ver=5.4:1
(anonymous) @ index.js?ver=5.4:1
index.js?ver=5.4:1 
Response {type: "basic", url: "https://domainhidden/wp-admin/admin-ajax.php?action=rest-nonce", redirected: false, status: 400, ok: false, …}

Проверьте изображение на наличие журнала ошибок в консоли

Я уже пробовал некоторые из найденных решений, например:

  1. Очистка файлов кэша
  2. удаление существующего файла .htaccess и добавление файла .htaccess WordPress по умолчанию
  3. Обновление лимита памяти Php сделало 1024M и 512M
  4. Регенерация постоянной ссылки через настройки/постоянную ссылку (просто нажмите кнопку «Сохранить» с существующими настройками)

Я упомянул много этой ошибки, но не могу найти никакого решения. Тест моей контактной формы 7 работает правильно. Я получаю тестовое письмо от него. Но на сайте не работает.


person sahil    schedule 21.04.2021    source источник


Ответы (3)


Я видел это только на одном сайте, которым я управляю. По-видимому, это связано с конфликтом с другим плагином, который имеет ограниченный доступ к WP API, позволяя только зарегистрированным пользователям использовать REST API.

Чтобы отключить отправку через REST API, что, по-видимому, и является причиной вашей проблемы, вы можете обновить свой wp-config.php с помощью этой строки:

define( 'WPCF7_LOAD_JS', false );

или добавьте в свой functions.php

add_filter( 'wpcf7_load_js', '__return_false' );

Это отключает отправку ajax. Форма будет отправлена ​​​​методом POST и должна работать.

person Howard E    schedule 22.04.2021
comment
Какое-то очень милое расследование. Это работает как временная мера, пока я не смогу заменить CF7 альтернативой. - person chb; 29.07.2021

Контактная форма 7 имеет некоторые проблемы с момента последнего обновления два месяца назад, как вы можете видеть здесь: https://wordpress.org/support/plugin/contact-form-7/reviews/?filter=1

Я боюсь рекомендовать больше не использовать контактную форму 7.

person Fleks    schedule 21.04.2021
comment
Спасибо за ссылку, помогло. Да, качество разработки контактной формы 7 упало после обзора, который они получили по этой ссылке. Пока я все делал, я забыл, что даже у плагина могут быть проблемы, ведь cf7 я доверял на многих прошлых проектах. - person sahil; 22.04.2021

Согласно комментарию @flexy, я прочитал, что недавнее обновление cf7 нестабильно и вызвало много проблем. Именно тогда я понял, что перед выходом в эфир я тоже обновил все плагины.

Итак, решение было:

Понизьте контактную форму 7 до более старой стабильной версии. Используйте плагин WP Rollback для понижения версии.

Нестабильная версия cf7 - 5.4.0.

Что сработало, так это даунгрейд на одну версию назад 5.3.2

person sahil    schedule 22.04.2021
comment
Понижение рейтинга в качестве принятого ответа кажется недальновидным решением ... нет? - person Howard E; 24.04.2021