我可以使用多个‘the_content’筛选器吗?

时间:2014-02-09 作者:Peter Vijeh

我目前正在使用“the\\u content”过滤器向我的帖子和页面底部添加一些HTML。

但是,我想向少数特定页面添加另一个“the\\u content”过滤器(使用页面ID)。

可以使用多个“the\\u content”筛选器吗?

这是我当前的代码:

add_filter( \'the_content\', \'my_content_filter\' );

function my_content_filter( $content ) {
if ( is_single() || is_page()) {
  $content .= \'[html goes here]\';
}
return $content;
}

2 个回复
SO网友:Brad Dalton

您可以添加任意数量的页面ID和条件标记。

您可以使用the_content 只要函数使用不同的函数名,就可以根据需要过滤尽可能多的函数。

但是,当您在帖子之后添加HTML或文本内容时,需要使用如下代码:

add_filter( \'the_content\', \'your_content_filter\' );

function your_content_filter( $content ) {

if ( is_single(\'007\') || is_page(\'100\') ) {

$your_content = \'ADD Your HTML Content Here\';

$content .= $your_content;
}
return $content;
}
您还可以将HTML内容包装在如下类中:

$your_content = \'<div class="your-class">Add Your HTML Content Here</div>\';
如果要在使用相同挂钩的其他函数之后执行该函数,还可以添加第三个参数来定位优先级。

add_filter( \'the_content\', \'your_content_filter\', 15 );
此函数将在使用相同钩子的任何其他函数之后运行,因为在未指定时,10是默认值,因为它使用15。如果要在其他使用相同筛选器的用户之前运行该函数,可以使用小于10的优先级。

SO网友:tfrommen

当然,您可以&mdash;这正是过滤器的作用所在。

the_content 已附加了多个筛选器,如下所示:

var_dump($GLOBALS[\'wp_filter\'][\'the_content\']);

结束

相关推荐

Too many actions/filters!

这里是wordpress的新成员。动作/过滤器的概念本身并不难理解。令我不知所措的是大量可用的操作和过滤器。当我阅读教程/指南时,他们会说“只需将此功能添加到wp\\U head操作或after\\U setup\\u主题”。如果没有这些教程,我究竟如何知道将该函数与该操作挂钩?作为一个初学者,我怎么会知道什么是合适的操作?有没有关于如何导航的建议?谢谢