提问者:小点点

将一个重力形式钩子变量传递到另一个重力形式钩子中


有一个类似的名字的帖子,但显示的答案是不为我工作。

我试图获取用户的$USER_ID,因为他们注册到我的站点,并在随后的after form submission钩子中使用该变量,所以

add_action( 'gform_user_registered', 'send_user_email', 10, 4 );
function send_user_email($user_id, $feed, $user_pass) {}

是带有$USER_ID变量的钩子

add_action("gform_after_submission_1", "input_fields1", 10, 2);
function input_fields1($entry, $form) {}

是用于在提交后处理表单数据的钩子。

我试过以下几招:

add_action( 'gform_user_registered', 'send_user_email', 10, 4 );
function send_user_email($user_id, $feed, $user_pass) {
var_dump($user_id.' '. 'a');
add_action("gform_after_submission_1", "input_fields1", 10, 2);
function input_fields1($entry, $form) {
global $user_id;
var_dump($user_id.' '.'b');
}
}

这将返回“29 a”(第一个Var_dump)和“b”,但不返回“29 b”(第二个Var_dump将返回“29 b

是我的PHP错了,还是我没有理解这些钩子是如何工作的?

我也试过

add_action("gform_after_submission_1", "input_fields1", 10, 2);
function input_fields1($entry, $form) {

add_action( 'gform_user_registered', 'send_user_email', 10, 4 );
function send_user_email($user_id, $feed, $user_pass) {
var_dump($user_id.' '. 'a');
}
    global $user_id;
    var_dump($user_id.' '.'b');
}

这将返回没有变量的“b”,也不会返回任何“a


共1个答案

匿名用户

我现在意识到我不需要这么做。 'gform_user_register'钩子还包含了我试图与$user_id变量一起使用的$entry变量,因此不需要在钩子之间移动变量,因为我可以在一个钩子函数中完成我需要做的所有事情。