למה Contact Form 7 מפסיק לעבוד באתרים סטטיים
אתם מייצאים את אתר ה-WordPress שלכם ל-HTML סטטי. טופס יצירת הקשר שלכם מפסיק לעבוד. אתם רואים שגיאת 404 בקונסול.
Contact Form 7 זקוק ל-PHP. הוא משתמש ב-REST API כדי לעבד נתונים. באתרים סטטיים אין PHP. אין PHP פירושו אין REST API.
יש אנשים שמאשימים את CORS. כותרת CORS לא תתקן שרת שחסר. אתם זקוקים ל-backend כדי לטפל באימייל.
אם אתם משתמשים ב-Simply Static Pro, בדקו את הרשאות הקבצים שלכם. קובץ JS חסר גורם לשגיאה הזו. הריצו את הפקודה הזו:
chmod 644 /var/www/html/wp-content/plugins/simply-static-pro/assets/ssp-form-webhook-public.js
הריצו את הייצוא שוב.
שתי דרכים לפתור זאת:
- השאירו את WordPress תחת subdomain. השתמשו בו כ-API שלכם. הוסיפו כותרות CORS לקובץ ה-.htaccess שלכם.
- השתמשו בשירות טפסים סטטי. נסו את Formspree או Netlify Forms.
איך לבצע דיבאג:
- היכנסו לכתובת ה-URL של ה-WordPress שלכם בתוספת /wp-json/. אם אתם רואים 404, ה-backend שלכם לא פעיל.
- פתחו את ה-DevTools. שלחו את הטופס. חפשו שגיאות 404 או CORS.
- בדקו את קובץ ה-forms.json שלכם. ודאו שה-endpoint מפנה לדומיין ה-WordPress שלכם.
הפסיקו לטפל בתסמינים. תקנו את הארכיטקטורה שלכם.