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