想知道是否有人可以提供帮助。我正在尝试将一个购物车小部件添加到支持woocommerce的网站的标题中。但是,当启用WP超级缓存时,可以理解的是,当某些内容添加到购物车时,窗口小部件不会更新。
我正在尝试添加以下内容,以便缓存小部件:
<!--dynamic-cached-content-->
<?php echo time(); ?>
<!-- my_dynamic_content(); -->
<!--/dynamic-cached-content-->
我刚刚在这种情况下显示了时间,看看我是否能让它发挥作用。
我已将缓存设置为PHP缓存,启用了后期初始化和动态缓存,但是当我退出管理员时,时间仍然没有更新。
我已经通过文档了解是否有其他方法可以实现这一点但到目前为止我还没找到方法。
有人能指出我正确的方向吗?也许我完全错了!
我只想让一个小部件在标题中保持动态。
提前谢谢。
答案 0 :(得分:1)
Web应用程序有多种类型的缓存,WordPress可以利用所有这些缓存。
WP Super Cache,W3 Total Cache和Batcache等插件以及Varnish和Nginx等服务器组件实现页面缓存。这些工具存储完整页面的副本,并在每次请求相同的URL时使用该缓存副本。这是可用的最快缓存,但缺点是它们向每个人返回相同的HTML。
如果你想使用页面缓存但仍然有像标题小部件这样的动态元素,那么你必须用JavaScript渲染它们。
如果您已经编写了自己的主题,则可以通过存储页面不同部分的呈现HTML来实现片段缓存,除了您想要动态的部分。没有你可以下载的插件,它会为你做的。您需要自己判断需要缓存的内容以及持续时间。
最后,您可以缓存用于呈现网页的数据。查找有关WordPress persistent object caching的信息或编写代码以使用WordPress的Transients API。持久对象缓存插件可以自动将WordPress查询的结果存储到Memcached或Redis之类的内容(如果有的话)。