最合适的回答,由SO网友:Mimmo C. 整理而成
如果要将add\\u操作和do\\u操作与class对象结合应用,则必须使用静态函数来访问类。
使用您自己的措辞/变量尝试此代码:
class My_Plugin {
protected static $_instance = null;
// Static function used to access this class
public static function get_instance() {
if ( self::$_instance == null ) {
self::$_instance = new self();
}
return self::$_instance;
}
public function __construct() {
add_action(\'MY_HOOK_NAME\', array($this, \'MY_HOOK_FUNCTION\'), $args);
}
public function MY_HOOK_FUNCTION($args) {
echo $args;
}
}
然后初始化类:
My_Plugin::get_instance();
最后,您可以使用do\\u操作:
do_action(\'MY_HOOK_NAME\', \'hello my test\')