A WordPress-centric search engine for devs and theme authors

remove_filter › WordPress Function

remove_filter ( $hook_name, $callback, $priority = 10 )
Parameters: (3)
  • (string) $hook_name The filter hook to which the function to be removed is hooked.
    Required: Yes
  • (callable|string|array) $callback The callback to be removed from running when the filter is applied. This function can be called unconditionally to speculatively remove a callback that may or may not exist.
    Required: Yes
  • (int) $priority Optional. The exact priority used when adding the original filter callback. Default 10.
    Required: No
    Default: 10
  • (bool) Whether the function existed before it was removed.
Defined at:

Removes a callback function from a filter hook.

This 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 $callback 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.


function remove_filter( $hook_name, $callback, $priority = 10 ) {
	global $wp_filter;

	$r = false;

	if ( isset( $wp_filter[ $hook_name ] ) ) {
		$r = $wp_filter[ $hook_name ]->remove_filter( $hook_name, $callback, $priority );

		if ( ! $wp_filter[ $hook_name ]->callbacks ) {
			unset( $wp_filter[ $hook_name ] );

	return $r;