Я пишу плагин WordPress, в котором мне нужно вставить маяк (тег HTML-изображения) на страницу при первой загрузке страницы после входа пользователя в систему, то есть на страницу, на которую он перенаправлен. Последующие просмотры страниц тех же или других страниц не должны включать этот код маяка.
Я пробовал несколько способов сделать это.
Я добавил функцию в хук wp_login. Из этой функции я попытался добавить другую функцию в хук wp_footer для вывода содержимого.
// in my class constructor
add_action('wp_login', array($this, 'login'));
public function login() {
add_action('wp_footer', array($this, 'add_beacon'));
}
Это не сработало, поэтому я попытался установить обе ловушки спереди и установить глобальную переменную для указания первой загрузки. Это не было воспринято моей второй функцией и не было константой.
// in my class constructor
add_action('wp_login', array($this, 'login'));
add_action('wp_footer', array($this, 'add_beacon'));
public function login() {
define('FIRST_RUN', true);
}
public function add_beacon() {
if (defined('FIRST_RUN')) {
// output beacon
}
}
Обе функции ловушки работают корректно, но всякий раз, когда я пытаюсь сделать вывод содержимого во второй зависимой от запуска первой функции ловушки, я не получаю вывод.
Есть идеи, как мне это сделать? Возможно, есть какой-то способ, которым я могу проверить, не используя хук wp_login вообще.