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

Removes a function from a specified filter hook.


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.



(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


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


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;


Version Description
1.2.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.