您向该过滤器传递的参数不超过个,因此任何需要多个参数的回调都不会得到它。内核总是这样调用此筛选器:
$title = apply_filters(
\'widget_title\',
empty($instance[\'title\']) ? \'\' : $instance[\'title\'],
$instance,
$this->id_base
);
但你只是路过
$instance[\'title\']
. 添加缺少的参数,错误就会消失。
如果无法更改小部件,请更改过滤器回调的注册,并通过设置默认值使其他参数可选:
add_filter( \'widget_title\', \'my_widget_title_filter\', 10, 3 );
function my_widget_title_filter( $title, $instance = [], $id_base = \'\' ) {
if ( \'\' === $id_base )
return $title;
// do something with the title, then
return $title;
}