Передача переменной крюка гравитационных форм в другой крючок гравитационных форм

Есть сообщение с похожим названием, но ответ, показанный там, у меня не работает.

я пытаюсь получить $user_id пользователя, когда они регистрируются на моем сайте, и использую эту переменную в последующем хуке отправки формы, поэтому

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

мой 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"


person David Knight    schedule 16.06.2020    source источник
comment
Вам нужно назначить свое значение глобальной переменной в первой функции, если вторая должна иметь к ней доступ. (И вы захотите использовать другое имя для параметра функции и глобальной переменной, иначе это приведет к проблемам.)   -  person CBroe    schedule 16.06.2020


Ответы (1)


теперь я понимаю, что мне не нужно этого делать. Хук 'gform_user_registered' также содержит ту же самую переменную $entry, которую я пытался использовать в сочетании с переменной $user_id, поэтому нет необходимости перемещать переменную между хуками, так как я могу делать все, что мне нужно, в рамках одной функции хука. .

person David Knight    schedule 16.06.2020