wordpress:add_action:为什么第二个参数是数组而不是函数名
我正在尝试创建一个 wordpress 插件,我发现一个使用 oops 概念的插件,我的问题是为什么 add_action 函数中的第二个参数是数组而不是函数名称
add_action('admin_menu', array(&$this, '我的菜单'));
my_menu 是同一个类中的一个函数,请帮助我,
谢谢
I am trying to create a wordpress plugin, I found one plugin which use oops concepts, my question is why the second parameter in the add_action function is an array instead of a function name
add_action('admin_menu', array(&$this,
'my_menu'));
my_menu is a function in the same class, please help me
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为第二个参数必须是 callback< /a>. (并且
add_action
内部使用call_user_func_array
)。对于函数,我们可以将其名称作为字符串传递,但我们不能使用对象方法来做到这一点,不是吗?
因此,一个数组传递了 2 个元素,第一个是对象,第二个是要调用的方法:-
array( $object, 'method' )
哦,你可以安全地删除那个无用的 '&',PHP4现在日子已经过去了。
Because the second argument needs to be a callback. (and
add_action
internally usescall_user_func_array
).For functions we can just pass its name as a string but we can't do that with object methods, can we?
So an array is passed with 2 elements, first the object and second the method to call:-
array( $object, 'method' )
Oh and you can safely remove that useless '&', PHP4 days are gone now.
@Thomas John,您对 add_action 中第二个参数的看法是正确的,在 wordpress org 中也没有提到任何有关此的内容,所以现在让我知道您,我们可以将数组作为第二个参数数组传递($this,'method')。
描述:
当对象创建类时,构造函数会自动调用并执行您的操作。
为什么需要
在wordpress中,如何在add_action方法中创建或初始化类,简而言之,add_action引用一个类,检查下面的示例,
使用add_action()引用一个类。
@Thomas John, you are correct about second argument in add_action also in wordpress org not mentioned anything about this so now, let me know you, we can pass array as second argument array($this,'method').
Description:
when object creates of class then constructor automatically calls and your action performs.
WHY IT REQUIRES
in wordpress how to create or initialize the class in add_action method in short add_action referencing a class check below example
Referencing a class using add_action().