WP_Hook::remove_filter
Removes a callback function from a filter hook.
Method of the class: WP_Hook{}
No Hooks.
Returns
true|false. Whether the callback existed before it was removed.
Usage
$WP_Hook = new WP_Hook(); $WP_Hook->remove_filter( $hook_name, $callback, $priority );
- $hook_name(string) (required)
- The filter hook to which the function to be removed is hooked.
- $callback(callable|string|array) (required)
- The callback to be removed from running when the filter is applied. This method can be called unconditionally to speculatively remove a callback that may or may not exist.
- $priority(int) (required)
- The exact priority used when adding the original filter callback.
Changelog
| Since 4.7.0 | Introduced. |
WP_Hook::remove_filter() WP Hook::remove filter code WP 6.9.1
public function remove_filter( $hook_name, $callback, $priority ) {
if ( null === $priority ) {
$priority = 0;
}
$function_key = _wp_filter_build_unique_id( $hook_name, $callback, $priority );
$exists = isset( $function_key, $this->callbacks[ $priority ][ $function_key ] );
if ( $exists ) {
unset( $this->callbacks[ $priority ][ $function_key ] );
if ( ! $this->callbacks[ $priority ] ) {
unset( $this->callbacks[ $priority ] );
$this->priorities = array_keys( $this->callbacks );
if ( $this->nesting_level > 0 ) {
$this->resort_active_iterations();
}
}
}
return $exists;
}