我正在学习创建一个wordpress插件 我下载了一个并阅读了代码,我看到了这个 我假设'foo'是它将添加动作的标签..
但是array()究竟做了什么?
add_action('foo', array('foo1', 'foo2'));
我看了http://codex.wordpress.org/Function_Reference/add_action 并且没有明确的定义..
答案 0 :(得分:3)
是的,第一个参数是标签(你将添加动作),第二个参数指定要调用的函数(即你的回调)。
第二个参数接受PHP回调,因此接受许多有效的表单。检查一下所有这些:
您在上面显示的类型是类型2.数组的第一个元素指定一个类,第二个元素指定您要调用的类的哪个函数。
因此,通过上面给出的示例,无论何时调用foo()
动作,它最终都会调用foo1->foo2()
。
答案 1 :(得分:2)
add_action
函数的第二个参数是用钩子调用的函数。
function hello_header() {
echo "I'm in the header!";
}
add_action('wp_head', 'hello_header');
使用数组作为第二个参数是传递一个对象方法,而不仅仅是一个常规函数。
了解call_user_func
的工作原理。应该提供更多的见解。
http://us2.php.net/manual/en/language.pseudo-types.php#language.types.callback