WP_Hook::apply_filters() WordPress Method
The WP_Hook::apply_filters() method is used to apply a filter to a value. This is the method used by the apply_filters() function.
WP_Hook::apply_filters( mixed $value, array $args ) #
Calls the callback functions that have been added to a filter hook.
Parameters
- $value
(mixed)(Required)The value to filter.
- $args
(array)(Required)Additional parameters to pass to the callback functions. This array is expected to include $value at index 0.
Return
(mixed) The filtered value after all hooked functions are applied to it.
Source
File: wp-includes/class-wp-hook.php
public function apply_filters( $value, $args ) { if ( ! $this->callbacks ) { return $value; } $nesting_level = $this->nesting_level++; $this->iterations[ $nesting_level ] = array_keys( $this->callbacks ); $num_args = count( $args ); do { $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] ); $priority = $this->current_priority[ $nesting_level ]; foreach ( $this->callbacks[ $priority ] as $the_ ) { if ( ! $this->doing_action ) { $args[0] = $value; } // Avoid the array_slice() if possible. if ( 0 == $the_['accepted_args'] ) { $value = call_user_func( $the_['function'] ); } elseif ( $the_['accepted_args'] >= $num_args ) { $value = call_user_func_array( $the_['function'], $args ); } else { $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) ); } } } while ( false !== next( $this->iterations[ $nesting_level ] ) ); unset( $this->iterations[ $nesting_level ] ); unset( $this->current_priority[ $nesting_level ] ); $this->nesting_level--; return $value; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.7.0 | Introduced. |