wordpress:add_action:为什么第二个参数是数组而不是函数名

时间:2011-06-01 16:17:19

标签: php wordpress

我正在尝试创建一个wordpress插件,我找到了一个使用oops概念的插件,我的问题是为什么add_action函数中的第二个参数是一个数组而不是一个函数名

  

add_action('admin_menu',array(& $ this,   'my_menu'));

my_menu是同一个班级的一个功能,请帮帮我

由于

2 个答案:

答案 0 :(得分:12)

因为第二个参数需要是callback。 (add_action内部使用call_user_func_array)。

对于函数我们只能将其名称作为字符串传递,但我们不能用对象方法做到这一点,是吗?

所以一个数组传递了2个元素,首先是对象,第二个是要调用的方法: -

array( $object, 'method' )

哦,你可以安全地删除那些无用的'&',PHP4天已经过去了。

答案 1 :(得分:0)

@Thomas John,你对add_action中的第二个参数也是正确的,在wordpress org中也没有提到任何关于这个的事情所以现在,让我知道你,我们可以传递数组作为第二个参数数组($ this,' method&# 39。)

说明 当对象创建类时,构造函数会自动调用并执行您的操作。

为什么需要 在wordpress中如何在add_action方法中创建或初始化类,简单地说add_action引用下面的类检查

class Myclass{
 public function __construct() {


add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );

}
}

使用add_action()引用类。