我正在与一位客户合作创建WooCommerce购物网站。然而,由于某些原因,在人们将物品添加到购物车之后,这些物品实际添加到购物车大约需要30秒。
我已经确定WooCommerce会话没有立即设置。产品正在保存在数据库中,但会话在不久之后才能访问它们。
我创建了一个快捷代码来打印会话,以便查看正在发生的事情。此脚本不相关,但如下所示:
function test_func( $atts ){
$customer = @WC()->session;
return print_r($customer);
}
add_shortcode( \'test\', \'test_func\' );
这是添加产品后购物车的屏幕截图。请注意它如何显示“您的购物车当前为空”以及\\u customer id:受保护的值:
以下是phpMyAdmin的屏幕截图,显示了正在存储的会话:
在第一次截屏32秒后,我刷新了页面,并显示了与\\u customer\\u id匹配的页面。
所以我的问题是:为什么会有30秒的延迟,我如何修复它?
我已经尝试将WooCommerce改为直接结账(不起作用),我使用了来自BusinessBloomer.com 每个人都链接到的。
我正在运行WooCommerce v.3.6.5,运行WordPress 5.2.2,PHP版本7.0.33。我的主人是戈达迪。
最合适的回答,由SO网友:Michael 整理而成
我会尝试将此站点复制到临时区域。
然后检查并停用除Woo Commerce之外的所有插件。除了Woo Commerce和您的主题之外,其他所有功能都已禁用,请尝试将项目添加到您的购物车中。查看将物品添加到购物车时是否有延迟。
如果没有延迟,慢慢地一次激活一个插件,直到找到导致问题的插件。如果只有您的主题和Woo Commerce出现延迟,请尝试切换到其他主题。
通过这种方式,您可以慢慢缩小范围,以确定故障所在。