Php 将参数传递给add_action()中回调数组中的方法-WordPress

Php 将参数传递给add_action()中回调数组中的方法-WordPress,php,wordpress,Php,Wordpress,我试图使用Wordpress中的do\u action()将一个参数(比如$arg)传递给add\u action()的第二个参数/回调 do_action( 'my_hook', $arg); do\u action()中的'my\u hook'将引用下面的add\u action() 注意:我不是在fuctions.php中尝试这个。正在尝试修改核心文件。我知道不建议修改核心文件。但是,我想探索地平线(不过我会回到家里) 请提供将参数传递到my\u method()的方法。提前谢谢。Hm

我试图使用Wordpress中的
do\u action()
将一个参数(比如
$arg
)传递给
add\u action()
的第二个参数/回调

do_action( 'my_hook',  $arg);
do\u action()
中的
'my\u hook'
将引用下面的
add\u action()

注意:我不是在fuctions.php中尝试这个。正在尝试修改核心文件。我知道不建议修改核心文件。但是,我想探索地平线(不过我会回到家里)


请提供将参数传递到
my\u method()
的方法。提前谢谢。

Hm我认为如果您从add\u操作调用中取出
($arg)
,这应该会起作用

class My_Class {

    public function __construct () {
        add_action( 'my_hook', array( $this, 'my_method' ) );
    }

    public function my_method ($arg) {
         some_function ($arg);
        // some code here....
    }
}

// make sure you are creating a new object so __construct() is called
$instance = new My_Class();

do_action( 'my_hook', $arg );
如果您查看文档,
add_action
允许您指定操作接受的参数数量。它默认为1

class My_Class {

    public function __construct () {
        add_action( 'my_hook', array( $this, 'my_method' ) );
    }

    public function my_method ($arg) {
         some_function ($arg);
        // some code here....
    }
}

// make sure you are creating a new object so __construct() is called
$instance = new My_Class();

do_action( 'my_hook', $arg );