Uses
Uses | Description |
---|---|
wp-includes/plugin.php: _wp_call_all_hook() | Call the ‘all’ hook, which will process the functions hooked into it. |
Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
$tag
are supplied using an array.(string) (Required) The name of the filter hook.
(array) (Required) The arguments supplied to the functions hooked to $tag.
(mixed) The filtered value after all hooked functions are applied to it.
add_filter('my_filter', 'my_callback'); function my_callback( $args ) { //access values with $args[0], $args[1] etc. }
Because the array was passed by reference, any changes to the array elements are applied to the original array outside of the function’s scope.
add_action('my_filter', 'my_callback', 10, 4 ); function my_callback( $arg1, $arg2, $arg3, $arg4 ) { //access values with $args1, $args2 etc. }
This method copies the array elements into the parameter variables. Any changes to the parameter variables do not affect the original array.
apply_filters_ref_array( 'my_filter', array( &$args )); add_action('my_filter', 'my_callback'); function my_callback( &$args ) { //access values with $args[0], $args[1] etc. }
Because the original array was passed by reference, any changes to the array elements are applied to the original array outside of the function’s scope.
File: wp-includes/plugin.php
function apply_filters_ref_array( $tag, $args ) { global $wp_filter, $wp_current_filter; // Do 'all' actions first. if ( isset( $wp_filter['all'] ) ) { $wp_current_filter[] = $tag; $all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection _wp_call_all_hook( $all_args ); } if ( ! isset( $wp_filter[ $tag ] ) ) { if ( isset( $wp_filter['all'] ) ) { array_pop( $wp_current_filter ); } return $args[0]; } if ( ! isset( $wp_filter['all'] ) ) { $wp_current_filter[] = $tag; } $filtered = $wp_filter[ $tag ]->apply_filters( $args[0], $args ); array_pop( $wp_current_filter ); return $filtered; }
Version | Description |
---|---|
3.0.0 | Introduced. |
© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/apply_filters_ref_array