remove_filter( string $tag, callable $function_to_remove, int $priority = 10 )

Removes a function from a specified filter hook.


Description Description

This function removes a function attached to a specified filter hook. This method can be used to remove default functions attached to a specific filter hook and possibly replace them with a substitute.

To remove a hook, the $function_to_remove and $priority arguments must match when the hook was added. This goes for both filters and actions. No warning will be given on removal failure.


Parameters Parameters

$tag

(string) (Required) The filter hook to which the function to be removed is hooked.

$function_to_remove

(callable) (Required) The name of the function which should be removed.

$priority

(int) (Optional) The priority of the function.

Default value: 10


Top ↑

Return Return

(bool) Whether the function existed before it was removed.


Top ↑

Source Source

File: wp-includes/plugin.php

function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
	global $wp_filter;

	$r = false;
	if ( isset( $wp_filter[ $tag ] ) ) {
		$r = $wp_filter[ $tag ]->remove_filter( $tag, $function_to_remove, $priority );
		if ( ! $wp_filter[ $tag ]->callbacks ) {
			unset( $wp_filter[ $tag ] );
		}
	}

	return $r;
}

Top ↑

Changelog Changelog

Changelog
Version Description
1.2.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note content
    Contributed by Codex

    Example

    remove_filter( 'the_content', 'wpautop' );
    
    foreach ( array( 'the_content', 'the_title', 'comment_text' ) as $hook )
        remove_filter( $hook, 'capital_P_dangit' );
    

    If a filter has been added from within a class, for example by a plugin, removing it will require accessing the class variable.

    global $my_class;
    remove_filter( 'the_content', array($my_class, 'class_filter_function') );
    

    It is also worth noting that you may need to prioritise the removal of the filter to a hook that occurs after the filter is added. You cannot successfully remove the filter before it has been added.

You must log in before being able to contribute a note or feedback.