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


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


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


(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

Version Description
1.2.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex


    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.