Skip to main content

AdditionalPageTriggers

Класс контейнер для триггеров, которые заданы в настройках виджетов, но их требуется рендерить как триггеры страницы

Среди таких триггеров есть такие, которое изначально относились ко всей странице, но для удобства переноса виджетов между курсами, настройка страницы задается прямо в виджете. Например, триггер page_loaded относится к странице, но его можно задать в виджете, это может потребоваться для инициализации виджета

Класс AdditionalPageTriggers отвечает за сохранение всех js скриптов, которые требуются для инициализации триггеров (действий и опций), а так же для их ренреда на странице:

final class AdditionalPageTriggers extends Singleton {
private array $triggers = [];

public function add_trigger( array $script ): void {
$this->triggers[] = $script;
}

public function get_triggers(): array {
return $this->triggers;
}
}
  • add_script добавляет js скрипт в массив скриптов для вывода
  • render_scripts_tag - отображает все скрипты для вывода на странице. Вывод привязан к хуку wp_footer в конструкторе класса WidgetTriggers