上线后联系表单提交成功,后台一条没收到,抓包发现提交地址指向 test.example.com,用户的留言全进了测试库,攒了两百多条。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
grep -rnE 'test\.example\.com|staging' wp-content/themes/mytheme/ grep -rnE 'action=.http' wp-content/themes/mytheme/ wp option get siteurl
主题的 functions.php 里把表单接收地址写成了测试域名,测试时能跑通就一直没改。地址没有走站点 URL 函数或配置项,换环境就失效。这一点先确认清楚,后面就不用反复试。
「配置硬编码」这类改动最怕改一半,回滚脚本先准备好,再动生产。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
具体做法是,全站搜硬编码域名,换成站点 URL 函数拼接;需要外部接口地址时从配置项读,不写在模板里;发布前搜一遍 test 和 staging 字样;表单提交后做一次端到端测试,确认落到当前环境的库。
改完照着核一遍,线上表单的提交地址指向主域名,提交后当前环境后台能看到记录,测试库数量不再增加。
