2

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?

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

2 Answers 2

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' );
3
  • Didn't realize @toscho has already answered !! Dec 10, 2013 at 11:02
  • Thanks Subharanjan! I tried to use your function in Debug Bar Console plugin by pasting function and run var_dump(get_filters_for( 'the_content' ));, but it shows nothing. Am I doing wrong?
    – ironsand
    Dec 10, 2013 at 14:16
  • @Tetsu Just removed an extra parenthesis from the return statement. It works now.. Please check. :) awesomescreenshot.com/06e22nqdbd Dec 10, 2013 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.