【问题标题】:Dynamic content in PHP WordPress pagePHP WordPress 页面中的动态内容
【发布时间】:2022-08-17 15:31:51
【问题描述】:

我有一个使用 WordPress 运行的电子商务商店网站。我想包含一个带有 -random custormer 产品评论的部分,这样每次有人访问该页面时,都会有不同的评论。 我不习惯 PHP,但我设法创建了一个短代码,它接受随机注释并返回正确的 HTML。它工作正常(在编辑模式下,每次我插入简码都会出现不同的评论)。 我的问题是,当我离开页面并返回时,前一个页面仍然存在。我相信它是由缓存引起的,但我不想禁用整个页面的缓存。 我如何强制短代码再次运行(我不知道这是否是正确的解释方式)并确保在每次访问时都会出现不同的评论? 我认为的一种解决方案是让 JS 代码与我的 PHP 代码做的事情大致相同,使用 Woocommerce API 来获取数据。但我想知道是否有更简单的解决方案可以做到这一点,比如强制不缓存特定部分或重新运行短代码。

谢谢!

  • 浏览器缓存页面。无法刷新此服务器端。您可以在 Javascript 中使用浏览器的历史 API。
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: php wordpress cache-control wordpress-shortcode


【解决方案1】:

JS 不能做 PHP 在这里所做的事情:最多它可以创建一个对后端的 AJAX 调用,然后运行一个随机评论的查询并返回它。之后您需要渲染它。这是相当标准的,但对你的情况来说太过分了。

相反,您将要检查您的缓存机制是否支持 ESI 或其他排除部分代码被缓存的东西。

【讨论】:

  • 我认为使用ajax是合理的,而不是矫枉过正。您可以使用 wp-admin/admin-ajax.php 路由,但我建议使用 rest_init 挂钩注册自定义休息路由,因为它比 admin-ajx.php 更快。两种解决方案都有很多在线教程。
  • 没错,如果 OP 有 PHP 经验..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 2012-10-12
  • 2016-08-09
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
相关资源
最近更新 更多