add_filter ( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )
将函数或方法挂接到特定的筛选器操作。
WordPress提供了过滤器挂钩,允许插件在运行时修改各种类型的内部数据。
插件可以通过将回调绑定到过滤器挂钩来修改数据。稍后应用过滤器时,每个绑定回调都会按优先级顺序运行,并有机会通过返回新值来修改值。
以下示例显示如何将回调函数绑定到过滤器挂钩。
请注意,$示例被传递给回调函数,(可能)已修改,然后返回:
function example_callback( $example ) {
// Maybe modify $example in some way.
return $example;
}
add_filter( \'example_filter\', \'example_callback\' );
绑定回调可以接受从none到作为参数在相应
apply_filters()
呼叫
换句话说,如果apply_filters()
调用总共传递四个参数,绑定到它的回调可以不接受(与1相同)任何参数或最多四个。重要的是$accepted_args
值必须反映绑定回调实际接受的参数数。如果回调未接受任何参数,则认为该参数与接受1个参数相同。例如:
// Filter call.
$value = apply_filters( \'hook\', $value, $arg2, $arg3 );
// Accepting zero/one arguments.
function example_callback() {
...
return \'some value\';
}
add_filter( \'hook\', \'example_callback\' ); // Where $priority is default 10, $accepted_args is default 1.
// Accepting two arguments (three possible).
function example_callback( $value, $arg2 ) {
...
return $maybe_modified_value;
}
add_filter( \'hook\', \'example_callback\', 10, 2 ); // Where $priority is 10, $accepted_args is 2.
Note: 无论回调是否有效,函数都将返回true。由你来照顾好自己。这样做是为了优化,所以一切都尽可能快。