当您位于站点的前端而不是仪表板时,为什么WordPress会从get_option()缓存值?

时间:2014-09-05 19:19:31

标签: php wordpress caching plugins

我已经开发了一个WordPress插件,可以让弹出窗口很容易让非程序员操作和使用,但是我遇到了一个我无法跟踪的特定问题。来源。我创建了一个广泛的选项页面,用户可以通过该页面进入并更改与弹出窗口相关的多个设置,保存它们,然后立即在网站的前端查看更改。但是,我注意到由于某些原因,这些更改至少需要几分钟才能生效。

经过进一步调查,我尝试使用get_option(' insert_key_here')抓取大量这些选项,然后在插件代码的开头打印出来,看看发生了什么。如果我在网站的仪表板上,那很好,所有选项都应该打印出来,即使我刚刚通过选项页面进行了更改。但是,如果我然后去网站的前端,相同的打印输出将显示5到15分钟之间的旧选项。

根据我的知识,这似乎没有任何意义,因为我正在使用的网站上没有缓存。 W3 Total Cache被关闭,任何其他外部缓存都关闭,浏览器缓存不应该是一个问题,因为这是服务器端的全部,并且我所知道的缓存不会区分您是否正在查看网站的主页或其WordPress信息中心。

不幸的是,我很确定由于版权原因而无法显示确切的代码以及它开始时间很长这一事实,但我希望有人知道为什么会这样做奇怪的错误会发生,或者可能会给我一些建议,寻找可能导致答案的建议。

TL; DR

  • 选项页面会立即保存选项,因为选项的打印输出反映了WordPress仪表板上的这些更改
  • 但是,这些相同的选项不会立即在网站的前端更新
  • 缓存似乎不是问题,因为W3关闭,外部缓存关闭,浏览器缓存不应该起作用因为这都是处理PHP(服务器端),并且没有缓存(我知道)应该有选择地缓存网站的前端。
  • 我知道这有点模糊不清,还有很多事情要做,但是也许有人可以提供建议来寻找什么?

0 个答案:

没有答案