Есть сообщение с похожим названием, но ответ, показанный там, у меня не работает.
я пытаюсь получить $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"