关注公众号
查看最新内容

【已解决】小插件,坏大事 (下单后没弹出发货页面)

最近接到几个客户说,付款了,没弹出发货页面。

最开始我以为,客户是互联网新手,不懂如何操作。

但是接二连三、重复发生了这个情况,我意识到出问题了。

 

 

我是怎么检查的呢?

 

1、检查网站主题的(正版)授权是否还在?

以前遇到过,授权不定期掉了,我得重新激活下授权。最近一年基本没掉了,这次也正常。

 

2、去主题售后群看看是否有人反馈这种情况

看下是我自己的问题,还是共性的。哎,没一个人反馈,那就不是主题模板的事了,是我的原因。

 

3、检查支付接口,都没毛病。

 

4、手动测试

使用了3个新的浏览器,打开,分别下单。付款后邮箱都能接到订单消息,但是依旧都不跳转。

间隔5分钟后,才陆续跳转到发货页面。

这说明收款接口没问题,是缓存的问题。

 

回想一下,关于缓存,我前几天做三个设置:

php的两个扩展opcache和memcached,这俩肯定没问题,不再细说。

那就是最后一个了,我安装了一个wp插件 WP Super Cache

这个插件也叫超级缓存,核心作用是把动态 PHP 页面变成静态 HTML 文件,大幅提速、降负载。

关键点找出来了

这个插件,就是导致 “付款成功但不跳转” 的元凶

因为这个插件,是:第一次访问生成静态 HTML → 之后直接给 HTML不跑 PHP、不查库,极快)

也有个重大的弊端:

  • 付款、订单、下载页都是动态页面,必须实时执行 PHP、读取订单状态、验证权限。
  • WP Super Cache 把它们变成了静态 HTML,导致:
    • 下单后页面不刷新、不跳转,停在原地
    • 下载链接不生成、不显示
    • 订单状态不更新

于是赶紧关闭了这个插件,再测试,一切终于正常了。

记录下来,为后来人指路。

创作不易,转载请注明出处:小风博客 » 【已解决】小插件,坏大事 (下单后没弹出发货页面)