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.

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' );
  • Didn't realize @toscho has already answered !! – Subharanjan Dec 10 '13 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 '13 at 14:16
  • @Tetsu Just removed an extra parenthesis from the return statement. It works now.. Please check. :) awesomescreenshot.com/06e22nqdbd – Subharanjan Dec 10 '13 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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