ContactForm7 แสดงข้อผิดพลาด POST & GET ในการส่งไซต์ WordPress Woocommerce

ฉันได้พัฒนาและปรับใช้เว็บไซต์ เว็บไซต์ WordPress woocommerce ของฉันเมื่อเร็ว ๆ นี้ และมีข้อผิดพลาดแปลก ๆ ปรากฏขึ้นหลังจากที่ฉันทำให้เว็บไซต์ใช้งานได้บนโดเมนของมัน ก่อนหน้านี้มันทำงานในโดเมนย่อยการพัฒนา

ฉันกำลังประสบปัญหากับการส่ง ContactForm7 ฉันได้รับข้อผิดพลาดเมื่อมีคนต้องการส่ง Contactform7

ข้อผิดพลาดที่บันทึกไว้ในเอาต์พุตคอนโซลคือ:

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 );

หรือเพิ่มลงใน function.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

ฉันกลัวที่จะแนะนำให้ใช้ Contact Form 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