Remove function or filter

时间:2014-11-14 作者:Sillo

我正在使用320press的Wordpress引导的子主题。comI想摆脱添加到内容第一段的lead类。

我在以下文章中查阅了Wordpress codex:

但我对PHP不是很有经验,只有HTML-所以我真的不知道这是一个过滤器还是一个我需要删除的函数-我在上面的链接中尝试了这两种解决方案,但我似乎无法让它们中的任何一个正常工作。

这是PHP from函数。添加类的php

// Add lead class to first paragraph
function first_paragraph( $content ){
    global $post;

    // if we\'re on the homepage, don\'t add the lead class to the first paragraph of text
    if( is_page_template( \'page-homepage.php\' ) )
        return $content;
    else
        return preg_replace(\'/<p([^>]+)?>/\', \'<p$1 class="lead">\', $content, 1);
}
add_filter( \'the_content\', \'first_paragraph\' );

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

你的问题不是你做了错事,而是你在错误的时间做了错事。重要的是什么时候发生,而不是在哪里。

在子主题中,函数。php被加载,然后是父对象,所以您要执行以下操作:

移除first_paragraph 功能来自the_content 过滤器添加first_paragraph 功能到the_content 过滤显然这是错误的方法。这就像先建造摩天大楼的顶楼,然后再建造地基,这是行不通的。此处无法删除筛选器,因为它尚未添加

要解决此问题,请稍后使用操作/挂钩拆下滤清器,例如:

// when the init hook fires
add_action( \'init\', \'sillo_remove_that_filter\' );

function sillo_remove_that_filter() {
    // remove the filter
    remove_filter( \'the_content\', \'first_paragraph\' );
}

结束

相关推荐

Apply_Filters(‘the_content’)-是否使其忽略快捷代码?

我正在使用apply_filters(\'the_content) 因此,我可以在后端的wp编辑器中看到格式正确的内容。但是,这也会呈现内容中的短代码。我希望它忽略短代码,对其余内容进行过滤,基本上与发帖时一样。如果您在后端查看帖子内容,您将看到短代码,但如果您在网站的页面内查看它,您将看到呈现的短代码(其结果)。这可能吗?