执行挂钩在特定过滤器挂钩上的函数,指定数组中的参数。

原型

apply_filters_ref_array( string $tag, array $args )

参数

$tag (string) (Required) 过滤器挂钩的名称。

$args (array) (Required) 提供给函数的参数挂钩到$ tag。

返回值

(mixed)  所有挂钩函数后的过滤值都应用于它。

源文件

路径:wp-includes/plugin.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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();
		_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;
}

...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/apply_filters_ref_array/