限制Wordpress的“the_content”过滤器

时间:2012-12-10 20:00:34

标签: php wordpress filter hook

使用Wordpress可以为“the_content”添加一个钩子。在我的代码中它看起来像这样。

add_filter("the_content", some_func);

所以,每当有一个帖子“some_func”被运行时,在Wordpress中。所以,让我们说“some_func”看起来像这样。

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

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

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

1 个答案:

答案 0 :(得分:2)

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

remove_filter( 'the_content', 'some_func' );

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