_CONTENT上的筛选器忽略快捷代码

时间:2016-11-25 作者:jxwd

我的函数只影响页面内容,而不影响页面插件中帖子的页面内容,我在页面中使用一个短代码调用该插件。

My plugin function

add_filter(\'the_content\', \'modify_tables\', 10, 1);

function modify_tables($content) {

    //modifications...

    return $content;
} // function modify_tables

My template code to ouput page

 while (have_posts()) : the_post();
      the_content(); 
 endwhile;

1 个回复
SO网友:cjbj

未修改do_shortcode 是有效的过滤器the_content 优先级为11。您的筛选器具有优先级10。因此,它在评估短代码之前运行,不会影响您在页面中使用短代码发布的帖子。

现在,您可能认为在检索页面内的帖子时也应该触发过滤器。然而,这并不一定是真的。仅当使用检索内容时,才会触发筛选器the_content, 不适用于get_the_content.

根据修改的内容,如果将过滤器的优先级设置为99左右,则可能会得到所需的结果,强制在应用过滤器之前计算短代码。

相关推荐

如何通过函数.php使applyFilters函数返回FALSE

因此,插件中有以下代码:if( window.wp.hooks.applyFilters( \'filtername\', true, $(this) ) ) { //do something } 在不编辑插件文件但使用函数的情况下,如何使上述语句始终为false。改为php?我不确定我是否正确理解applyfilters,但我尝试过:function filtername() { return false; } add_filter( \'fil