最近要同时建几个站测试产品。为了方便,从第二个站开始就直接复制整站。
先复制WP的页面文件,然后导出原有Mysql的数据,最后导入新站。
可能因为数据比较多,所以导入新站的时候老是报错或者提示中断。试了几次后依然报错,但是数据库里面已经有表和数据。然后我就忽略报错(估计就是这个埋下隐患)......
(现在看不到出错的界面,只找到当时的视频截图)
新站搭建成功后发现个问题,Add to cart 失败,Buynow (插件:Buy Now Button for WooCommerce)失败。我考虑了下原因,认为是缓存引起的问题。所以我在Woocommerce --setting--status--tools,选择Clear customer sessions ,因为清除Session会删除所有客户会话数据,包括当前购物车和数据库中已保存的购物车。
果然,效果很明显,Add to cart 和 Buy now 都可以用了。
但好景不长,过了一会又显示购物车为空了。
因为Buynow那个插件的原理还是通过加购物车后转向到Checkout ,所以不能购买的原因依然是产品未能添加购物车。
因为老站是完全正常的,我估计新站出错的原因还是在导入数据库的时候并未完全成功。某些表结构可能存在问题。
于是我安装了 WP-Optimize,针对数据库做一些优化,包括缓存。 优化完成后问题依然存在, 看来问题比较棘手。
我又考虑,通过Ajax 把产品数据直接添加到购物车,这样试试看。本来准备改PHP ,后来发现居然还有这个插件 ,Ajax提交产品数据到购物车,看到受此困扰的家人们不少啊。于是立马装上插件,果不其然,用Ajax可以添加到购物车了。不过点Buy now 依然不会跳转到Checkout页面。
现在是可以加购,然后点进购物车去结算,但Buynow不能用。但这个时候我知道我的判断是正确的,就是导入数据库的时候,部分表结构受到破坏。既然和Session相关,那就先检查Session这个表结构。
果然Wp_woocommerce_sessions 损坏了,表中的 session_id 列未自动递增。然后我把这列改为自动增加.
问题成功解决,Buynow能跳转到Checkout页面了。
我在写这篇文章记录的时候,给人的感觉解决问题挺简单的,但实际还是花了一点时间。
总结下:显示出来的问题是,点击Buynow按钮后不能跳转到Checkout ,可能存在的原因有很多,主题冲突,插件冲突,缓存问题,Session问题,数据库问题......等等,也只能一项一项的去测试。 正确的做法是先找到问题的关键原因,这样才能少走弯路,尽快解决问题。
我是做跨境的老王, 今天的分享就到这里!
文章为作者独立观点,不代表DLZ123立场。如有侵权,请联系我们。( 版权为作者所有,如需转载,请联系作者 )
网站运营至今,离不开小伙伴们的支持。 为了给小伙伴们提供一个互相交流的平台和资源的对接,特地开通了独立站交流群。
群里有不少运营大神,不时会分享一些运营技巧,更有一些资源收藏爱好者不时分享一些优质的学习资料。
现在可以扫码进群,备注【加群】。 ( 群完全免费,不广告不卖课!)
发表评论 取消回复