我有一个网站,其中有几个产品有超过2000(两千)种变体。这对性能来说有点麻烦。
具体来说,页面加载时间非常糟糕,因为我禁用了AJAX价格加载(我需要同时提供所有变体数据,以便在更改选项之前显示变体的中间价格),因此无论变化量多少,数据将始终回显到.variation_form
的{{1}}属性。
现在,我已决定禁用它,并且在页面加载时异步获取数据并仅在获得数据后启动表单。它有效。
我的问题从这里开始,因为产品页面现在仍然加载与我获取和回显所有可用变体时相同的时间长度。我的理论是它现在显示的速度与简单的产品一样快,然后等待AJAX获取并启动表单。
加载时间长的原因是什么?产品的复杂性,还是处理所有变化的东西?如果可能的话,我很乐意阻止它。任何关于在哪里寻找或测量什么的提示都将受到赞赏。
我使用microtime()来实现这一目标,并发现get_available_variations()需要5-10秒才能获得所有数据,这就是为什么我认为异步将是所需的关键更改。
答案 0 :(得分:0)
我的问题毫无意义,我现在看到了。问题出现在Woocommerce侧边栏中,因为我在侧边栏中的产品上打印的价格不同,我忘了在某些时候我使用了get_available_variations函数。
我现在以不同的方式显示边栏中的价格,而变量产品的加载速度与简单产品一样快。