【问题标题】:Limiting Wordpress' "the_content" filter限制 Wordpress 的“the_content”过滤器
【发布时间】:2012-11-28 07:08:54
【问题描述】:

使用 Wordpress,您可以将挂钩添加到“the_content”。在我的代码中是这样的。

add_filter("the_content", some_func);

因此,在 Wordpress 中,每次发布“some_func”时都会运行。所以,假设“some_func”看起来像这样。

function some_func( $content ) {
    return $content . "<div id='my_div'></div>";
}

使用 ID 属性意味着只能有一个 HTML 元素。发生的情况是,该函数会针对数据库中的每个帖子运行。这意味着如果我有两个帖子,那么我有两个 ID 为“my_div”的 div,如果我有依赖于这些 ID 的 Javascript,那么 Javascript 将无法正确运行。 CSS 也一样。

所以,我需要一种让这个函数运行一次且不超过一次的方法。任何人都知道我应该使用的方法,也许是包装器或不同的过滤器?

【问题讨论】:

  • 你能用class代替id吗?
  • 这是我的备份选项。我必须花费数周时间重构代码。如果我能找到一个简单的解决方法,我宁愿这样做。

标签: php wordpress filter hook


【解决方案1】:

我还没有测试过这个,但也许你可以将它添加到你的 some_func 函数的顶部:

remove_filter( 'the_content', 'some_func' );

理论上,它会调用一次过滤器,并在第一次调用后删除过滤器。

【讨论】:

  • 谢谢,我把需要运行一次的代码和需要重复的代码分开了。完美运行,非常感谢。
猜你喜欢
  • 2013-01-19
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2012-03-14
  • 2011-07-10
  • 1970-01-01
相关资源
最近更新 更多