如果页面上有多个带有POST循环的动态块,那么如何避免从Render_Callback函数内部进行重复操作呢?

时间:2021-12-23 作者:Noltedesign

我正在构建动态块,将博客索引定制为杂志风格的布局、特色帖子、类别、其他内容,所有这些都混合在一起。我的动态块能够很好地呈现循环和发布内容,但当render\\u回调块函数在同一页面上多次显示时,我无法将ID列表从该函数传递给它自己,从而导致在页面上的不同位置使用时,该块中出现重复的发布。

如果有多个动态块呈现get\\u posts循环,如何将ID列表传递给下一个实例以避免重复?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

在PHP中,我回忆起这些方法

  1. Static variables
  2. Class properties
  3. 数据库、文件、内存(可能会被刷新)
在钩子回调中保留一个状态,该状态在WordPress中被多次调用,并且按照我考虑使用自己的顺序,但这取决于上下文(例如,存储过期数据的WP瞬态,可以使用内存快速调用,数据库作为后备)。

全局变量也可能列在底部(通常不推荐),而闭包技巧则更靠近顶部。

相关推荐