示例:
add_filter( string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1 )
描述:
WordPress提供了过滤器钩子,允许插件在运行时修改各种类型的内部数据。
插件可以通过将回调绑定到过滤器挂钩来修改数据。稍后应用过滤器时,每个绑定回调都会按优先级顺序运行,并有机会通过返回新值来修改值。
下面的示例展示回调函数如何绑定到过滤器钩子。
请注意,$example被传递给回调函数,(可能)修改,然后返回:
function example_callback( $example ) {
// Maybe modify $example in some way.
return $example;
}
add_filter( 'example_filter', 'example_callback' );
绑定回调可以接受从“无”到在相应的apply_filters()调用中作为参数传递的参数总数。
换句话说,如果一个apply_filters()调用总共传递了4个参数,
则绑定的回调可以不接受任何参数(与1相同),或者最多接受4个参数。
重要的一点是$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;
}
注意:无论回调是否有效,函数都将返回true。这样做是为了优化,所以一切都尽可能快。
参数Top↑
$hook_name
(string)(必填) 要添加回调的过滤器的名称。
$callback
(callable)(必填) 应用过滤器时要运行的回调。
$priority
(int)(可选) 用于指定与特定过滤器关联的函数的执行顺序。较低的数字对应较早的执行,具有相同优先级的函数按照它们添加到过滤器的顺序执行。
默认值: 10
$accepted_args
(int)(可选) 函数接受的参数个数。
默认值: 1
本文出处:老蒋部落 » WordPress函数add_filter()详细介绍 | 欢迎分享( 公众号:老蒋朋友圈 )