How to check a filter are applied

I want to apply this filter from this question.

add_filter( 'the_content', 'pre_content_filter', 0 );

function pre_content_filter( $content ) {
    return preg_replace_callback( '|<pre.*>(.*)</pre|isU' , 'convert_pre_entities', $content );
}

function convert_pre_entities( $matches ) {
    return str_replace( $matches[1], html_entity_decode( $matches[1] ), $matches[0] );
}

But it seems there is no effect. So I want to check if the function pre_content_filter is really applied. How can I do it?

Read More

I’ve tried debug-bar and debug-bar-extender, but I couldn’t find if I can do it.

Related posts

2 comments

  1. You can use has_filter() to check for registered filers.

    Example:

    add_filter( 'the_content', function( $content ) 
    {
        if ( has_filter( 'the_content', 'pre_content_filter' ) )
            return 'pre_content_filter() is active<br>' . $content;
    
        return $content;
    }, -1 );
    
  2. You can find out all the functions hooked into a particular “filter” and check if a particular function is in that list. Below function returns the list of all functions hooked into a specific filter hook.

    function get_filters_for( $hook = '' ) {
        global $wp_filter;
        if( empty( $hook ) || !isset( $wp_filter[$hook] ) )
            return;
    
        return $wp_filter[$hook];
    }
    

    Call it like this and run a loop to check if the function is in this list.

    get_filters_for( 'the_content' );
    

Comments are closed.