Фанпати замена попапа

  1. В if-so создаем дубликат тригера (например рождество 2025 или хеллоуин 2025), ставим нужное название
  2. создаем дубликат страницы (например рождество 2025 или хеллоуин 2025) - меняем страницу, заголовок и ссылку. публикуем страницу. в админке берем id страницы, закрываем для индексации
  3. id страницы вставляем в новый попап во второе окно (заменяем старый номер)
  4. в if-so - настройки аддоны - в первом окне меняем id тригера на новый.
  5. там же в последнем окне стравим ссылку на страницу, на которую ведет попап (это исключение, на какой странице попап не показывать)

    -------------------------не трогать

    <div id="ifso-en-wrapper" hidden>
      [ifso id="15935" ajax="yes" display="modal" eventType="delay" delay="1" openbtn=""]
    </div>

    <div id="ifso-fr-wrapper" hidden>
      [ifso id="15941" ajax="yes" display="modal" eventType="delay" delay="1" openbtn=""]
    </div>

    <script>
    (function(){
      // Нормализуем путь: нижний регистр + завершающий слэш
      var path = location.pathname.replace(/\/+$/,'/').toLowerCase();

      // Языковая проверка: EN = /en и /en/...
      var isEn = /^\/en(\/|$)/i.test(path);

      // ЕДИНАЯ глобальная кука для обоих языков
      var seenGlobal = document.cookie.indexOf('prevent-popup=yes') !== -1;

      // Страницы-исключения
      var excludeEn = [
        '/en/product/haunted-house-3d-photo-zone/'
      ];
      var excludeFr = [
        // при необходимости добавьте FR-исключения
      ];

      var enBox = document.getElementById('ifso-en-wrapper');
      var frBox = document.getElementById('ifso-fr-wrapper');

      // 1) Если уже видели глобально — вырезаем оба контейнера ДО инициализации модалок
      if (seenGlobal) {
        if (enBox) enBox.remove();
        if (frBox) frBox.remove();
        return;
      }

      // 2) Иначе показываем только один язык (и учитываем исключения)
      if (isEn) {
        // EN: оставляем EN-контейнер, вырезаем FR; проверяем исключение
        if (frBox) frBox.remove();
        if (enBox && excludeEn.indexOf(path) !== -1) enBox.remove();
      } else {
        // FR (всё, что не /en): оставляем FR-контейнер, вырезаем EN; проверяем исключение
        if (enBox) enBox.remove();
        if (frBox && excludeFr.indexOf(path) !== -1) frBox.remove();
      }
    })();
    </script>

Avez-vous trouvé cet article utile ?