您只能从函数返回一个数据块。这是PHP强制执行的规则。如果需要返回多个数据段,则需要返回一个数组或对象。
不过,使用过滤器,您不能只决定返回什么。您必须返回筛选器要返回的内容。例如the_content
回调需要返回字符串。返回数组无效。您只需在帖子正文中打印单词“Array”。另一方面,如果传递给您一个数组,则应返回一个数组。
因此,当一些过滤器传入多个数据段时,您只需要修改并返回一个数据段,通常是第一个参数。在一般情况下,您需要:
function wpse_test_hook($param1, $param2, $param3){
// whatever you need to do
return $param1;
}
add_filter(\'some_filter\', \'wpse_test_hook\');
但请检查过滤器的使用方式。在以下情况下:
image_downsize
钩住两个参数--
$id
和
$size
-- 但是
image_downsize
作用
just returns whatever the callback gives it. 如果使用该钩子,则意味着完全劫持函数的其余部分。更常见的钩子
the_content
. 您仍然只能返回一块数据,并且仍然必须返回正确类型的数据,否则肯定会在某个地方造成麻烦。
通过操作,您有时可以修改多条信息,但操作根本不会返回,因此PHP限制不是问题。