https://experiences.reimagine.link/search-solo/
Чтобы увеличить конверсию, я добавил кнопку «Забронировать сейчас» в каждый список туров. Кнопка открывает всплывающий виджет TicketingHub. Он отлично работает во всех списках, включая страницу поиска, но только на первой странице результатов поиска.
Что я обнаружил
На первой странице результатов поиска используется:
grid.php
На страницах 2, 3 и далее используется:
grid-2.php
Я подтвердил это, проверив тему код. Обнаружив разницу, я скопировал ту же самую логику всплывающего окна из Grid.php в Grid-2.php.
Кнопка отображается правильно на странице 2+, и я временно переименовал ее в «Проверить», чтобы отличить ее во время тестирования. Но всплывающее окно НЕ запускается вообще на странице 2+.
Тот же код работает везде.
Справочный код
Исходный файл темы (grid.php):
https://github.com/obertscloud/traveler ... p/grid.php
Файл пользовательской дочерней темы:
https://github.com/obertscloud/traveler ... rr-Nov2025
Примечание: приведенный ниже пользовательский код слишком велик, чтобы вставлять его сюда.
Мой настроенный файлgrid.php:
https://gist.github.com/obertscloud/cfe ... 30a425a99d
Мой настроенный файл Grid-2.php:
https://gist.github.com/obertscloud/1fb ... 25a12d9177
Логика идентична в обоих файлах. Только страница 1 работает правильно.
Отладочная информация (страница 1)
HTML-код кнопки «Забронировать» на странице 1 (работает):
Код: Выделить всё
Book Now
Код: Выделить всё
DEBUG: has_widget = true,
widget_id = 'f4f43556-f59b-454e-bdf7-f5e6f068d586',
post_id = 14966
Отладочная информация (страница 2)
HTML-код кнопки страницы 2 (не работает):
Код: Выделить всё
Check
Код: Выделить всё
DEBUG: has_widget = true,
widget_id = '4d8abf21-4cc8-49e5-ac6d-29a8f8feed21',
post_id = 11155
Но нажатие кнопки ничего не дает.
Минимальный воспроизводимый пример
Работает (страница 1):
Код: Выделить всё
Book Now
Код: Выделить всё
Check
Перейдите по адресу https://experiences.reimagine.link/search-solo/
Нажмите «Забронировать сейчас» на странице 1 → всплывающее окно откроется нормально.
Перейдите на страницу 2.
Нажмите «Проверить» → ничего не произойдет.
Используйте Chrome DevTools → выходные значения отладки верны.
Оба фрагмента используют один и тот же класс (th-book-btn) и один и тот же прослушиватель JS.
Оба набора идентификаторов действительны.
Всплывающее окно вызывается только на первой странице.
Я не могу вставить сюда полные файлы из-за ограничений по размеру, но приведенная выше суть останется доступной.
Заключительный вопрос (для WordPress/Traveler)
/>Какая разница в нумерации страниц Traveler WP, обработке AJAX или загрузке шаблона может помешать срабатыванию события click для th-book-btn только в Grid-2.php, даже если:
HTML идентичен
идентификаторы отладки верны
прослушиватель JS один и тот же
оба шаблона содержат один и тот же код
Как добиться нормального срабатывания всплывающего окна на страницах 2, 3 и далее?
Подробнее здесь: https://stackoverflow.com/questions/798 ... search-res
Мобильная версия