Intereting Posts
Вставьте данные из файла .sql в плагин wordpress WP заказ ASC в пользовательской петле пользователя Второй цикл WP_Query показывает данные из основного запроса Как фильтровать по категориям в REST API, за исключением сообщений и в других категориях? Как вы разрабатываете и обновляете, когда получаете новые требования к уже существующему сайту? Язык толстого слова WordPress zip unzip вложения в wordpress Добавить несколько изображений на страницу профиля автора Заменить архивы терминов на статические страницы Есть ли пустая среда темы, совместимая с WP 3.0? post2posts с использованием проблемы с array_items Отключить текстовую вкладку в текстовом редакторе WordPress. Получить название категории за пределами цикла в category.php Как импортировать сообщения WordPress с изображениями с одного сайта WordPress на другой? Обновление постданных без создания дубликата на wp_insert_post из RSS-ленты

Как передать переменную hook в функцию?

У меня есть функция, в которой есть add_action внутри нее, которая вызывает hook_ user_register. Я хотел бы иметь возможность повторять переменную $ user_id из hook_ user_register и массива $ _POST. (Хорошо, моя цель – сделать больше, чем это, но вы получите эту идею). Смотри ниже:

function my_function{ add_action( 'user_register' ..... . . . echo $user_id; var_dump ($_POST); . . . } 

Как я могу это сделать?

Я понимаю, что это, вероятно, очень просто, но примеры, которые я видел, не использовали add_action внутри другой функции.

Спасибо за любую помощь.

Вы не можете использовать действие или крючок внутри функции так, как вы ожидаете. Действия и перехватчики связаны с задержкой выполнения. Вы добавляете код, который будет выполняться в более поздней точке. После того, как действие будет добавлено, ваша функция будет продолжена как обычно.

Затем, когда пользователь фактически зарегистрируется, ваш код будет запущен. Однако вы никогда не вернетесь к своей первоначальной функции.

Возможно, вы захотите рассмотреть возможность использования нескольких действий и глобальных переменных. В первом действии мы можем установить глобальное:

 add_action( 'user_register' ..... global $myvariable; . . . echo $user_id; var_dump ($_POST); $myvariable = 'a Value'; . . . } 

Затем вы можете выполнить другое действие, которое вы запускаете в другом месте позже. Здесь мы можем назвать глобальные данные:

 add_action('wp_footer', function() { global $myvariable; echo $myvariable; }); 

Когда вы используете add_action ваша функция обратного вызова попадает в какую-то очередь и выполняется при запуске крюка действия – в вашем случае это будет user_register . Данные из «крюка» не передаются через add_action . Независимо от того, что вам нужно сделать, нужно сделать в обратном вызове крюка, или вам нужно разработать другой способ сделать то, что вам нужно сделать, и, поскольку вы фатально усекали свой код, невозможно определить, что это из вопроса ,

Возможно, вы можете делать то, что вам нужно, с помощью статической переменной, глобального или класса, но без дополнительной информации о проблеме, которую вы пытаетесь решить, это все, что я могу предложить.

См. Уточнение фильтров и крючков.