我正在尝试创建一个wordpress插件,我找到了一个使用oops概念的插件,我的问题是为什么add_action函数中的第二个参数是一个数组而不是一个函数名
add_action('admin_menu',array(& $ this, 'my_menu'));
my_menu是同一个班级的一个功能,请帮帮我
由于
答案 0 :(得分:12)
因为第二个参数需要是callback。 (add_action
内部使用call_user_func_array
)。
对于函数我们只能将其名称作为字符串传递,但我们不能用对象方法做到这一点,是吗?
所以一个数组传递了2个元素,首先是对象,第二个是要调用的方法: -
array( $object, 'method' )
哦,你可以安全地删除那些无用的'&',PHP4天已经过去了。
答案 1 :(得分:0)
说明强> 当对象创建类时,构造函数会自动调用并执行您的操作。
为什么需要 在wordpress中如何在add_action方法中创建或初始化类,简单地说add_action引用下面的类检查
class Myclass{
public function __construct() {
add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );
}
}
使用add_action()引用类。