ਸਟੈਟਿਕ ਸਾਈਟਾਂ 'ਤੇ Contact Form 7 ਕਿਉਂ ਕੰਮ ਨਹੀਂ ਕਰਦਾ
ਤੁਸੀਂ ਆਪਣੀ WordPress ਸਾਈਟ ਨੂੰ ਸਟੈਟਿਕ HTML ਵਿੱਚ ਐਕਸਪੋਰਟ ਕਰਦੇ ਹੋ। ਤੁਹਾਡਾ contact form ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਕੰਸੋਲ ਵਿੱਚ 404 error ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
Contact Form 7 ਨੂੰ PHP ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇਹ ਡੇਟਾ ਪ੍ਰੋਸੈਸ ਕਰਨ ਲਈ REST API ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਸਟੈਟਿਕ ਸਾਈਟਾਂ ਵਿੱਚ PHP ਨਹੀਂ ਹੁੰਦੀ। PHP ਤੋਂ ਬਿਨਾਂ REST API ਵੀ ਨਹੀਂ ਹੋ ਸਕਦੀ।
ਕੁਝ ਲੋਕ CORS ਨੂੰ ਦੋਸ਼ ਦਿੰਦੇ ਹਨ। ਇੱਕ CORS header ਗੁੰਮ ਹੋਏ ਸਰਵਰ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਈਮੇਲ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਤੁਹਾਨੂੰ ਇੱਕ 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 ਵਜੋਂ ਵਰਤੋ। ਆਪਣੀ .htaccess ਫਾਈਲ ਵਿੱਚ CORS headers ਜੋੜੋ।
- ਇੱਕ static form service ਦੀ ਵਰਤੋਂ ਕਰੋ। Formspree ਜਾਂ Netlify Forms ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
ਡੀਬੱਗ (debug) ਕਿਵੇਂ ਕਰੀਏ:
- ਆਪਣੇ WordPress URL ਦੇ ਅੱਗੇ /wp-json/ ਲਗਾ ਕੇ ਜਾਓ। ਜੇਕਰ ਤੁਹਾਨੂੰ 404 ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡਾ backend offline ਹੈ।
- DevTools ਖੋਲ੍ਹੋ। ਆਪਣਾ ਫਾਰਮ ਸਬਮਿਟ ਕਰੋ। 404 ਜਾਂ CORS errors ਦੀ ਜਾਂਚ ਕਰੋ।
- ਆਪਣੀ forms.json ਫਾਈਲ ਦੀ ਜਾਂਚ ਕਰੋ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ endpoint ਤੁਹਾਡੇ WordPress domain ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।
ਲੱਛਣਾਂ ਦਾ ਇਲਾਜ ਕਰਨਾ ਬੰਦ ਕਰੋ। ਆਪਣੇ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਠੀਕ ਕਰੋ।