remove_filter() – Removes a callback function from a filter hook.

You appear to be a bot. Output may be restricted


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.


$bool = remove_filter( $hook_name, $callback, $priority );


( string ) required – The filter hook to which the function to be removed is hooked.
( callable|string|array ) required – 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.
( int ) optional default: 10 – Optional. The exact priority used when adding the original filter callback. Default 10.


bool Whether the function existed before it was removed.


File name: wordpress/wp-includes/plugin.php

1 to 15 of 15
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;

 View on GitHub View on Trac