我有这个过滤器:
$post_arr = apply_filters(\'insert_product_post_data\', $post_arr, $data);
add_filter(\'insert_product_post_data\', \'my_filter\', 10, 2);
function my_filter($post_arr, $data) {
//change $data here
return $post_arr;
}
我需要更改$数据的值,有什么办法吗?
最合适的回答,由SO网友:Tom J Nowell 整理而成
不,如果不更改原始代码,这是不可能的。过滤器处理第一个参数,其他参数为上下文提供。
您还需要让作者为数据变量添加过滤器、派生插件或使用竞争对手。
唯一的例外是$data
是一个object
不是一个array
您想要修改它。但是,它不能被替换,也不能使用数组或任何其他数据类型进行替换。