如果这是您自己的类,并且您可以修改它,那么您可以将该类的实例作为附加参数传递给过滤器回调:
class Foo {
...constructor, etc.
function to_filter() {
$output = \'<div class="wrap">\';
$output .= $this->another_function();
$output .= more html
return apply_filters( \'to_filter_name\', $output, $this );
}
}
function filter_foo( $output, $foo ) {
$output .= $foo->another_function();
return $output;
}
add_filter( \'to_filter_name\', \'filter_foo\', 10, 2 );
重要的是
2
在
add_filter()
呼叫它将两个参数传递给回调。