如何禁用快捷码返回的内容的缓存

时间:2017-10-10 作者:E. Jaep

我们编写了一个基于时间戳返回不同内容的短代码。

典型的商业案例是:“在1月1日之前,显示“注册将于1月1日开放”,在该日期之后显示“在此处注册”

因此,不缓存这段内容非常重要。

是否有一种方法可以从短码代码中指示不应该缓存这段内容(知道尚未选择缓存机制-nginx、memcache、total cache等)?

1 个回复
SO网友:janh

由于缓存通常不会在页面的某些部分工作,但在整个页面上,您不能让它不缓存特定的部分(当然,您可以使用ESI/Edge-Side-Includes,但这不是所有实现的选项)。

您可以编写一个钩子来检查是否使用了这些短代码,并调整标头,指示它可能不会被缓存,或者只能缓存到X秒(指定的最大生存期是您想要显示更改内容的日期和时间)。

或者,您可以在更新帖子时解析短代码,并添加将以静默方式更新帖子的WP cronjobs。在缓存实现中,很可能会有某种清除机制,在更新帖子时删除缓存结果。

结束

相关推荐

Sanitize AROUND shortcode

我有一个Wordpress plugin 它允许用户标记项目符号列表,然后在其周围添加一个短代码。不幸的是,当用户选择项目符号列表时,第一个UL没有被选择,因此他们最终会做出一个奇怪的选择。结束代码应为:[checklist-box title=\"Hello\"] <ul> <li>xxxx</li> <li>yyyy</li> <li>zzz</li> &

如何禁用快捷码返回的内容的缓存 - 小码农CODE - 行之有效找到问题解决它

如何禁用快捷码返回的内容的缓存

时间:2017-10-10 作者:E. Jaep

我们编写了一个基于时间戳返回不同内容的短代码。

典型的商业案例是:“在1月1日之前,显示“注册将于1月1日开放”,在该日期之后显示“在此处注册”

因此,不缓存这段内容非常重要。

是否有一种方法可以从短码代码中指示不应该缓存这段内容(知道尚未选择缓存机制-nginx、memcache、total cache等)?

1 个回复
SO网友:janh

由于缓存通常不会在页面的某些部分工作,但在整个页面上,您不能让它不缓存特定的部分(当然,您可以使用ESI/Edge-Side-Includes,但这不是所有实现的选项)。

您可以编写一个钩子来检查是否使用了这些短代码,并调整标头,指示它可能不会被缓存,或者只能缓存到X秒(指定的最大生存期是您想要显示更改内容的日期和时间)。

或者,您可以在更新帖子时解析短代码,并添加将以静默方式更新帖子的WP cronjobs。在缓存实现中,很可能会有某种清除机制,在更新帖子时删除缓存结果。

相关推荐

redirect if shortcode exists

WordPress初学者。我试图检查用户请求的页面中是否存在短代码,如果存在,则在用户未登录时重定向。function redirect_to_home() { if (has_shortcode(get_the_content(), \'shortcode\')) { if(!is_admin() && !is_user_logged_in()) { //redirect exit(); }