从帖子以外的所有内容中删除自动<p>

时间:2017-03-09 17:00:21

标签: wordpress

我正在使用此代码删除wp生成的autop。

remove_filter('the_content', 'wpautop');

一切都很好,但我只需要在博客文章中使用autop。

搜索后我发现我可以检测到它是否是一个帖子,混合另一个问题和wp doc得出这个不起作用,直到Matt指出错误。 Belows代码在wp 4.7.3上正常工作。

remove_filter('the_content','wpautop');

add_filter('the_content','if_is_post');

function if_is_post($content){
    if(is_singular('post'))
        return wpautop($content);
    else
        return $content;//no autop
}

1 个答案:

答案 0 :(得分:1)

如果您希望仅在帖子中应用wpautop过滤器,那么您的if语句是向后的。现在,您正在删除过滤器,如果当前帖子类型已发布,则会保持删除状态。相信你的代码应该是这样的。

remove_filter('the_content','wpautop');

add_filter('the_content','if_is_post');

function if_is_post($content){
if(is_singular('post'))
    return wpautop($content);
else
    return $content;//no autop
}