</p>。这也就是我们在 HTML 发布内容时,直接回车便可在最终前端显示的时候换行的原因。它在核心代码中的几个钩子中都执行。下面是其中一个实例:
add_filter( 'the_content', 'wpautop' ); ?>
这将 wpautop() 过滤器应用到 post 的内容中,把每个换行都转换成段落(
)。但是也许有的客户不希望他的内容自动变成段落。那么你就可以使用 remove_filter() 函数从 the_content 钩子中删除这个过滤器。
remove_filter( 'the_content', 'wpautop' ); ?>
因为在 add_filter 的时候没有定义优先级,所以这里也不需要。 remove_all_filters
和前面的remove_all_actions类似。
remove_all_filters( $tag, $priority ); ?>
has_filter
和前面的 has_action 类似。 current_filter
同样类似于 did_action。不过它不仅仅对过滤器钩子有效,同样对动作钩子也有效,所以它返回的是当前的 action 或者 filter 钩子。这个函数在你对多个钩子使用单个函数,但是需要依赖不同的钩子执行不同的内容的时候非常的有用。例如,客户希望在 post 标题 和内容中限制一些内容,但是这两个限制的minganci的集合是不同的。使用 current_filter() 函数来根据钩子设置不同的minganci表就可以实现用一个函数同时过滤 the_content 和 the_title。使用下面的代码,你可以把minganci替换成**。
add_filter( 'the_content', 'boj_replace_unwanted_words' ); add_filter( 'the_title', 'boj_replace_unwanted_words' );
function boj_replace_unwanted_words( $text ) { /* 如果过滤器钩子是 the_content */
if( 'the_content' == current_filter() ) $words = array( 'min', 'gan', 'ci' ); /* 如果钩子是 the_title */
elseif( 'the_title' == current_filter() )
$words = array( 'zhen', 'de', 'hen', 'min', 'gan' ); /* 替换minganci */
$text = str_replace( $words, '**', $text ); return $text; }
?>