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