Как в bestsoft gallery остановить и заново запустить галерею?

Ссылка скопирована
1 ответ

Использую bestsoft gallery на wordpress.
Нужно сделать фильтрацию. Все решаемо, но самый главный вопрос как перезапустить галерею. Разработчикам написал, но может кто сталкивался...по типу может свайпера, методы destroy, init ....
заранее спасибо.

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

У галерей BestWebSoft/BestSoft обычно нет универсального публичного метода вроде destroy() и init(), как у Swiper. Поэтому сначала нужно понять, как именно плагин инициализирует галерею: через inline-скрипт на странице, через jQuery-плагин, через magnific/fancybox/lightbox или через свой объект.

Практический порядок такой:

  • откройте страницу с галереей;
  • посмотрите в DevTools, какие JS-файлы подключены плагином;
  • найдите в этих файлах строки gallery, lightbox, init, filter;
  • проверьте, есть ли глобальный объект в window или jQuery-метод.

Если фильтрация у Вас просто скрывает элементы CSS-классом, часто перезапуск не нужен. Достаточно после фильтрации обновить lightbox-селектор, если он кэширует список картинок. Например для Magnific Popup:

jQuery('.gallery').magnificPopup('destroy');
jQuery('.gallery').magnificPopup({
  delegate: 'a:visible',
  type: 'image',
  gallery: { enabled: true }
});

jQuery('.gallery').magnificPopup('destroy'); jQuery('.gallery').magnificPopup({ delegate: 'a:visible', type: 'image', gallery: { enabled: true } });

Для Fancybox v3 можно пересобрать привязку так:

jQuery('[data-fancybox="gallery"]').off('click.fb-start');
jQuery('[data-fancybox="gallery"]:visible').fancybox();

jQuery('[data-fancybox="gallery"]').off('click.fb-start'); jQuery('[data-fancybox="gallery"]:visible').fancybox();

Если плагин не даёт метода переинициализации, самый безопасный вариант — не ломать его внутреннюю галерею, а делать фильтрацию на уровне DOM: скрывать карточки и следить, чтобы lightbox открывал только видимые ссылки. Иногда проще отключить встроенный lightbox плагина и подключить нормальный lightbox отдельно.

Если после фильтрации меняется сетка, может потребоваться пересчёт Masonry/Isotope:

jQuery('.gallery-grid').isotope('layout');

jQuery('.gallery-grid').isotope('layout');

Итог: точный метод зависит от того, какую библиотеку внутри использует BestSoft Gallery. Универсального вызова нет. Ищите конкретную JS-инициализацию плагина и переинициализируйте именно lightbox/grid-компонент, а не весь WordPress-плагин.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно