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