સ્ટેટિક સાઇટ્સ પર Contact Form 7 કેમ કામ કરતું નથી
તમે તમારી WordPress સાઇટને સ્ટેટિક HTML માં એક્સપોર્ટ કરો છો. તમારું કોન્ટેક્ટ ફોર્મ કામ કરવાનું બંધ કરી દે છે. તમને કન્સોલમાં 404 એરર જોવા મળે છે.
Contact Form 7 ને PHP ની જરૂર હોય છે. તે ડેટા પ્રોસેસ કરવા માટે REST API નો ઉપયોગ કરે છે. સ્ટેટિક સાઇટ્સમાં PHP હોતું નથી. PHP વગર REST API પણ હોતું નથી.
કેટલાક લોકો CORS ને દોષ આપે છે. CORS હેડરથી ખૂટતા સર્વરની સમસ્યા ઉકેલાશે નહીં. ઈમેલ હેન્ડલ કરવા માટે તમારે બેકએન્ડની જરૂર પડશે.
જો તમે Simply Static Pro નો ઉપયોગ કરતા હોવ, તો તમારી ફાઇલ પરમિશન તપાસો. કોઈ JS ફાઇલ ખૂટવાને કારણે આ એરર આવી શકે છે. આ કમાન્ડ રન કરો:
chmod 644 /var/www/html/wp-content/plugins/simply-static-pro/assets/ssp-form-webhook-public.js
ફરીથી એક્સપોર્ટ રન કરો.
આને ઠીક કરવાના બે રસ્તા:
- WordPress ને સબડોમેન પર રાખો. તેને તમારા API તરીકે ઉપયોગ કરો. તમારી .htaccess ફાઇલમાં CORS હેડર્સ ઉમેરો.
- સ્ટેટિક ફોર્મ સર્વિસનો ઉપયોગ કરો. Formspree અથવા Netlify Forms અજમાવો.
કેવી રીતે ડિબગ કરવું:
- તમારી WordPress URL ની પાછળ /wp-json/ લગાવીને વિઝિટ કરો. જો તમને 404 દેખાય, તો તમારું બેકએન્ડ ઓફલાઇન છે.
- DevTools ખોલો. તમારું ફોર્મ સબમિટ કરો. 404 અથવા CORS એરર તપાસો.
- તમારી forms.json ફાઇલ તપાસો. ખાતરી કરો કે endpoint તમારી WordPress ડોમેન તરફ નિર્દેશિત કરે છે.
માત્ર લક્ષણો પર ધ્યાન આપવાનું બંધ કરો. તમારા આર્કિટેક્ચરને સુધારો.