Popup Maker Remote Content - Плагин WordPress
Popup Maker Remote Content позволяет пользователям легко загружать динамический или удаленный контент на свой веб-сайт. Добавив плагин Popup Maker Remote Content на свой сайт WordPress, пользователи получают возможность без проблем отображать контент из внешних источников.

Особенности плагина
С помощью этого плагина пользователи больше не нуждаются в ручном копировании и вставке контента с внешних источников на свой сайт. Вместо этого плагин Popup Maker Remote Content автоматизирует процесс, делая его более эффективным и удобным. Он предлагает простое и прямолинейное решение для интеграции удаленного контента на сайт WordPress.
Обратившись к официальному веб-сайту этого плагина, пользователи могут найти дополнительную информацию, включая подробности о его функциях, преимуществах и способе установки на свой сайт WordPress. Интуитивный интерфейс плагина облегчает пользовательскую навигацию по его различным настройкам и параметрам.
После установки плагина пользователи могут настраивать свой удаленный контент, используя предоставленные параметры, и настраивать внешний вид всплывающих окон в соответствии с дизайном своего сайта. Они могут определить триггер, который активирует всплывающие окна, такой как нажатие кнопки или задержка времени, и настроить различные параметры отображения, такие как позиция, анимация и размер всплывающего окна.
Пользователи также могут указать источник контента для своих всплывающих окон, будь то внешний URL или динамически создаваемый контент. Это позволяет гибко отображать различные типы контента, такие как акционные предложения, информационные бюллетени или обновления из внешних источников.
Popup Maker Remote Content не только упрощает процесс добавления удаленного контента на веб-сайт, но и предлагает функции для управления и отслеживания эффективности всплывающих окон. Со встроенными метриками и аналитикой пользователи могут анализировать эффективность своих всплывающих окон, отслеживать показатели конверсии и принимать решения на основе данных для оптимизации работы своего веб-сайта.
В заключение, этот плагин для WordPress, известный как Popup Maker Remote Content, предлагает упрощенное решение для загрузки динамического или удаленного контента на веб-сайт. Благодаря его простому интерфейсу и мощным функциям, пользователи могут легко интегрировать контент из внешних источников, настраивать внешний вид всплывающих окон и анализировать их производительность. С использованием этого плагина владельцы сайтов на WordPress могут улучшить свои веб-сайты с помощью увлекательного и актуального контента, без необходимости вручную копировать и вставлять его из внешних источников.
Спецификации:
| Дата выхода: | 20-03-2017 | |
| Дата обновления: | 15-02-2024 | |
| Тип расширения: | Платный | |
| Лицензия: | GPL | |
| Тематика: | Контент и авторинг | |
| Совместимость: | W4.x W5.x | |
| Включает в себя: | Плагин | |
| Языковые пакеты: |
|
|
| Разработчик: | - | |
| Рейтинг: | ||
Скачивание по подписке!
Вам необходимо авторизоваться на сайте и приобрести клубную подписку!
Поделись с друзьями!
Руководство по настройке Popup Maker Remote Content для динамических попапов в WordPress
Popup Maker Remote Content нужен в тех случаях, когда попап должен показывать не заранее набранный текст, а содержимое, которое берётся из ссылки, страницы, iframe или пользовательской AJAX-логики. В этом руководстве разберём, как выбрать подходящий метод загрузки, подготовить триггер, настроить область удалённого контента, проверить результат на сайте и не получить пустое окно вместо ожидаемого материала.
Материал рассчитан на владельца WordPress-сайта, вебмастера или разработчика, который уже понимает базовую логику Popup Maker: есть попап, есть триггер, есть условия показа, есть тема оформления. Здесь фокус другой - как превратить ссылку, карточку товара, изображение галереи, внутреннюю страницу или внешний ресурс в содержимое одного переиспользуемого окна.
Отдельно разберём ограничения. Не всякую страницу можно открыть внутри iframe, не всякий CSS-селектор вернёт полезный фрагмент, а AJAX-метод требует аккуратного кода и проверки данных. Поэтому руководство идёт от простых сценариев к сложным: сначала подготовка и базовая настройка, затем методы загрузки, практический пример, диагностика и сравнение с похожими решениями.
Какую задачу решает расширение и где оно действительно полезно
Обычный попап в WordPress чаще всего содержит статический блок: форму, текст акции, предупреждение, видео или короткий HTML. Такой подход удобен, пока один попап обслуживает одну задачу. Но как только нужно показывать разные страницы, карточки, записи, внешние документы или данные по клику, статический контент начинает мешать. Приходится создавать много похожих попапов, дублировать фрагменты и следить, чтобы они не устарели.
Popup Maker Remote Content решает эту проблему иначе: попап становится контейнером, а содержимое приходит в него по выбранному методу. Пользователь кликает по ссылке, кнопке, изображению или другому элементу, Popup Maker открывает окно, а расширение загружает нужный материал внутрь. В простом сценарии это может быть фрагмент внутренней страницы. В более сложном - iframe с внешним URL, AJAX-ответ с персонализированным HTML или шаблон записи выбранного типа.
Главная польза такого подхода - переиспользование одного попапа для множества источников. Например, в блоге можно открыть "читать далее" в модальном окне, в каталоге - показать подробности элемента без перехода на отдельную страницу, в галерее - вывести выбранное изображение, а в WooCommerce-сценарии - отобразить конкретный товар через один AJAX-попап. Это не отменяет обычные страницы сайта, но помогает оставить посетителя в текущем контексте.
Расширение особенно полезно для сайтов, где контент часто меняется. Если описание уже есть на странице, в записи или в карточке, его не нужно копировать в редактор попапа. Достаточно указать, какой URL или фрагмент должен загружаться. Если источник обновится, попап получит актуальный материал при следующем открытии.
Когда Remote Content лучше обычного содержимого попапа
Выбирайте удалённую загрузку, если попап должен быть связан с конкретным элементом на странице. Например, одна кнопка показывает условия доставки, другая - раздел с гарантией, третья - справку по размерной сетке. Если все эти блоки уже существуют как отдельные страницы или секции, их можно подгружать без дублирования.
Ещё один сильный сценарий - контент, который не нужен каждому посетителю. Встраивать тяжёлую форму, iframe или большой блок HTML в страницу заранее не всегда разумно. При загрузке по требованию пользователь получает содержимое только после клика, а начальная страница остаётся легче.
Когда лучше не усложнять
Если попап содержит одну короткую форму подписки, уведомление о скидке или простое предупреждение, Remote Content может быть лишним. Статический попап проще поддерживать, быстрее проверить и легче объяснить редактору. Расширение раскрывается там, где содержимое зависит от ссылки, выбранной записи, пользовательского действия или внешнего источника.
Практическое правило: если вы можете честно назвать один конкретный источник данных для попапа - URL, CSS-селектор, iframe-адрес, ID товара или параметр клика - Remote Content уместен. Если источника нет и нужен просто красивый блок, используйте обычный редактор Popup Maker.
Карта методов загрузки: Load From URL, iFrame, AJAX и Post Type Content
Самая важная настройка Popup Maker Remote Content - не внешний вид, а метод загрузки. Разработчик описывает четыре подхода: загрузку через URL с CSS-селектором, iframe, AJAX и метод для содержимого типов записей. Они решают разные задачи и не являются взаимозаменяемыми. Ошибка на этом этапе часто приводит к пустому попапу, отказу внешней страницы открываться или слишком тяжёлому содержимому внутри модального окна.
В официальном описании расширения логика выбора привязана к двум вопросам: источник внутренний или внешний, и нужно ли загрузить всю страницу или только её часть. Для внутренней ссылки доступны более гибкие варианты. Для внешнего сайта обычно остаётся iframe, потому что браузерные ограничения не позволяют просто забрать HTML другого домена обычным AJAX-запросом.
| Метод | Для чего подходит | Что проверить перед использованием | Типичный риск |
|---|---|---|---|
Load From URL |
Внутренние страницы и записи, из которых нужен весь HTML или конкретный фрагмент. | URL существует, нужный блок имеет стабильный CSS-селектор, ссылка совпадает с триггером. | В попап попадает вся страница с шапкой и подвалом или пустой результат из-за неверного селектора. |
iFrame |
Внешние страницы, сервисы, формы и страницы, которые нужно показать целиком. | Сайт разрешает встраивание, указан правильный fallback URL, высота контейнера удобна. | Внешний сайт запрещает открытие во фрейме через настройки безопасности. |
AJAX |
Сценарии, где содержимое создаётся кодом по данным клика или пользователя. | Есть callable PHP-функция, JS передаёт нужные параметры, данные очищаются и экранируются. | Ошибки JavaScript, небезопасная обработка входных данных или неправильное имя функции. |
Post Type Content |
Быстрое отображение данных записей или страниц по ссылке на запись выбранного типа. | Тип записи подходит под задачу, шаблон не требует сложной бизнес-логики. | Метод экспериментальный, поэтому сложные сценарии лучше проверять на копии сайта. |
Load From URL для внутреннего фрагмента
Метод Load From URL использует ссылку как источник и может загрузить всю страницу или только часть страницы по CSS-селектору. Это хороший выбор для внутренних справочных блоков, описаний, записей блога, секций лендинга и повторяющихся информационных элементов. Если селектор пустой, в попап может попасть не только контент, но и шапка, меню, подвал и лишние обёртки. Поэтому в большинстве случаев лучше указывать конкретный контейнер, например .entry-content, #product-details или собственный класс блока.
Надёжность этого метода зависит от стабильности верстки. Если тема или конструктор страниц изменит классы, удалённый фрагмент перестанет находиться. Для важных попапов создавайте собственный устойчивый класс на нужном блоке, а не цепляйтесь за случайный класс конструктора.
iFrame для внешнего источника
iFrame загружает страницу целиком внутри фрейма. Он нужен, когда источник внешний или когда вы не хотите разбирать чужой HTML на части. В настройках Remote Content Area для iframe указывается Default IFrame URL. Для автозапуска и для клика по не-ссылочному элементу используется этот адрес. Если триггером служит обычная ссылка, её href может переопределить адрес по умолчанию.
У iframe есть важное ограничение: внешний сайт может запретить встраивание с помощью HTTP-заголовков и политики безопасности. В таком случае проблема не в Popup Maker Remote Content. Браузер просто не даст показать страницу в чужом фрейме. Тогда нужно использовать официальный embed-URL, страницу, которую вы контролируете, или другой сценарий вывода.
AJAX для динамического содержимого
Метод AJAX рассчитан на разработчика или технически уверенного вебмастера. Он позволяет передать данные из клика в PHP-функцию и вернуть в попап сгенерированный HTML. Официальная документация показывает связку из JavaScript-перехвата события popmakeRcBeforeAjax, массива jQuery.fn.popmake.rc_user_args и PHP-функции, имя которой указывается в поле Function Name. В поле нужно писать только имя функции или метода, без круглых скобок.
AJAX хорош там, где один попап должен обслуживать много элементов: выбранное изображение галереи, товар по ID, персональное приветствие для вошедшего пользователя, купон по кнопке, фрагмент записи с дополнительными метаданными. Но именно этот метод требует строгой проверки входных данных. Всё, что приходит из запроса, нужно считать недоверенным.
Post Type Content как быстрый, но осторожный путь
Метод Post Type Content в описании расширения отмечен как экспериментальный. Его идея понятна: превратить ссылки на записи определённого типа в попап с базовым шаблоном данных записи. Для простых карточек, страниц справки или записей блога это может быть быстрее, чем писать AJAX-функцию. Но если нужно сложное форматирование, права доступа, WooCommerce-логика или дополнительные проверки, безопаснее перейти к AJAX и явно контролировать вывод.
Что подготовить перед установкой и первым запуском
Подготовка перед установкой здесь важнее, чем кажется. Popup Maker Remote Content не создаёт контент сам. Он связывает попап, триггер и источник. Если источник не готов, селектор нестабилен или ссылка не совпадает с правилом клика, расширение будет установлено правильно, но пользователь увидит пустой контейнер или обычный переход по ссылке.
Перед установкой составьте короткий список будущих сценариев. Для каждого сценария ответьте на три вопроса: что открывает попап, откуда берётся содержимое и как пользователь поймёт, что всё сработало. Такой подход экономит время на диагностике, потому что вы заранее видите, какой метод загрузки нужен.
Проверьте базовый Popup Maker
Remote Content является расширением для Popup Maker, поэтому сначала нужен рабочий базовый плагин. Создайте обычный тестовый попап без удалённого содержимого, добавьте простой Click Open триггер и проверьте, что он открывается на публичной странице. Если базовый попап не запускается, удалённая загрузка только добавит лишний слой неопределённости.
Проверьте также условия показа и включение попапа. В документации Popup Maker отдельный акцент сделан на публикации, включении и настройках таргетинга. Если попап исключён правилами показа, настройки Remote Content не помогут.
Подготовьте URL и CSS-селектор
Для Load From URL нужен URL, который доступен без авторизации для целевой аудитории, и CSS-селектор блока, который вы хотите показать. Откройте страницу в браузере, найдите нужный контейнер через инструменты разработчика и выберите селектор, который не изменится после редактирования страницы. Лучше добавить свой класс к блоку, например rc-policy-fragment, чем полагаться на случайную структуру темы.
Проверьте, что внутри выбранного блока нет элементов, которые плохо работают вне контекста страницы: скриптов конструктора, сложных слайдеров, форм с одноразовыми токенами, карт, которые инициализируются только при первой загрузке страницы. Если такие элементы есть, сначала протестируйте простой текстовый блок, затем добавляйте сложность.
Решите, нужен ли iframe
Для внешних источников не планируйте Load From URL. Если нужно показать чужой сайт, сервис бронирования, внешнюю форму или страницу партнёра, начните с iframe. Но перед этим откройте консоль браузера и проверьте, не запрещает ли источник встраивание. Сообщения вида Refused to connect, X-Frame-Options или frame-ancestors означают, что владелец внешнего сайта ограничил показ во фрейме.
Сделайте копию сложного сценария
Если планируется AJAX, WooCommerce-карточки, персональные данные пользователя или галерея с параметрами клика, сначала работайте на копии сайта или в тестовом попапе. Не начинайте с боевой формы и не добавляйте код прямо в активную тему без возможности быстрого отката. Для небольшого JavaScript официальная документация рекомендует использовать отдельный плагин для пользовательского CSS/JS; для PHP удобнее безопасный snippets-плагин или дочерняя тема.
Мини-итог подготовки: базовый Popup Maker должен открывать тестовый попап, источник должен быть доступен, селектор должен быть стабильным, а сложный AJAX-сценарий должен иметь отдельное место для теста и отката.
Установка и первичная проверка в админ-панели WordPress
Установка Popup Maker Remote Content в общих чертах повторяет установку любого коммерческого расширения Popup Maker: базовый Popup Maker должен быть активен, ZIP-файл расширения загружается через раздел плагинов WordPress или устанавливается способом, который предлагает ваш поставщик, затем расширение активируется. В этом руководстве не разбирается покупка, ввод ключа или получение платной версии. Нас интересует рабочая настройка уже имеющегося файла.
После активации не начинайте сразу со сложного AJAX-примера. Сначала убедитесь, что в редакторе попапа появился пункт Remote Content Area в меню шорткодов Popup Maker и что в настройках этой области доступны методы загрузки. Если пункт не появился, проверьте активность базового Popup Maker, конфликт с редактором, права пользователя и отсутствие критических ошибок в админ-панели.
Быстрый тест после активации
- Откройте
Popup Makerв админ-панели и создайте новый тестовый попап. - В редакторе попапа добавьте
Remote Content Areaчерез кнопку Popup Maker в панели редактора. - Оставьте метод
Load From URL, если тестируете внутреннюю страницу. - Укажите CSS-селектор простого блока, например контейнер содержимого записи.
- Добавьте
Click Openтриггер и настройтеExtra CSS Selectorsна ссылку или класс тестовой кнопки. - Опубликуйте и включите попап, затем откройте публичную страницу в режиме, где не мешает админ-панель.
На этом этапе важно проверять не красоту, а цепочку событий. Клик должен открыть попап, показать загрузчик и заменить область удалённого контента на содержимое источника. Если клик не открывает попап, сначала проверьте триггер. Если попап открывается, но пустой, переходите к настройке метода и селектора.
Где смотреть ключевые элементы
Большая часть работы происходит в трёх местах. В редакторе попапа находится Remote Content Area и его параметры. В блоке Popup Settings на вкладке Triggers настраивается Click Open и Extra CSS Selectors. В списке Popup Maker - All Popups можно посмотреть CSS-класс попапа, который часто выглядит как popmake-123 и нужен для ручных триггеров и AJAX-кода.
Если вы работаете с блочным редактором или конструктором страниц, не забывайте, что целевой элемент может получить дополнительные обёртки. В таком случае проверяйте фактический HTML на публичной странице, а не только то, что видно в редакторе.
Подробная настройка Remote Content Area после установки
Раздел Remote Content Area - это сердце расширения. Он вставляется в содержимое попапа как шорткод [pum_remote_content][/pum_remote_content], а на публичной части сайта заменяется тем содержимым, которое вернул выбранный метод. Визуальный редактор удобен для обычной настройки, но иногда полезно открыть текстовую вкладку и увидеть атрибуты шорткода напрямую.
Настройку стоит делать в таком порядке: выбрать метод загрузки, указать источник или функцию, определить селектор или fallback URL, выбрать загрузчик, выставить минимальную высоту, сохранить шорткод, затем отдельно настроить триггер. Не меняйте сразу все параметры. После каждого важного изменения делайте тестовый клик и смотрите, изменился ли результат.
Метод загрузки и источник
Для внутреннего контента начинайте с Load From URL. Если задача - показать часть записи или страницы, укажите Content CSS Selector. Если нужно показать весь документ, поле можно оставить пустым, но это редко выглядит аккуратно. В большинстве тем полный HTML страницы содержит шапку, меню, боковые блоки и подвал, которые в попапе не нужны.
Для внешнего адреса выбирайте iFrame и задавайте Default IFrame URL. Этот адрес работает как запасной источник для автозапуска и для клика по элементу, который не является ссылкой. Если триггер клика привязан к ссылке, фактический href может стать источником iframe. Это удобно для каталога внешних ресурсов: один попап, много ссылок, разные URL.
Для AJAX укажите только имя функции в поле Function Name. Не добавляйте скобки, аргументы или PHP-код прямо в поле. Логика функции должна быть определена отдельно, а JavaScript должен передать нужные параметры до запроса.
Загрузчик и минимальная высота
Пока контент загружается, пользователь видит анимацию загрузки. Документация описывает несколько стилей и возможность выбрать подходящий вариант. Не стоит превращать загрузчик в декоративный центр внимания. Он должен объяснять задержку, а не спорить с содержимым.
Minimum Height нужен для стабильного восприятия. Если высота слишком маленькая, попап будет прыгать, появится внутренний скролл или пользователь решит, что контент обрезался. Если высота слишком большая, короткий фрагмент будет выглядеть пустым. Для справочного блока обычно хватает умеренной высоты. Для iframe с формой, каталогом или внешней страницей тестируйте несколько размеров на настольном экране и на мобильной ширине.
Click Open и Extra CSS Selectors
Remote Content почти всегда связан с Click Open триггером. В Extra CSS Selectors можно указать класс, ID, селектор ссылки или ссылочный атрибут. Официальная документация описывает варианты сопоставления ссылок: точное совпадение, содержит, начинается с и заканчивается на. Для первого теста лучше использовать точное совпадение, потому что его легче диагностировать.
Если один попап должен открываться по нескольким элементам, селекторы можно перечислить через запятую. Но не делайте слишком широкий селектор вроде a без причины. Он может перехватить все ссылки на странице и создать неожиданный пользовательский опыт. Начинайте с узкого класса, например .js-remote-policy, а затем расширяйте область действия.
Проверка и откат спорных настроек
После сохранения откройте страницу в режиме инкогнито или в другом браузере. Проверьте три состояния: первый клик, повторный клик после закрытия попапа и клик по другой ссылке, если используется один попап для нескольких URL. Если поведение нестабильно, временно отключите кеширование JavaScript и оптимизацию объединения файлов, очистите кеш страницы и повторите тест.
Откат должен быть простым. Для Load From URL удалите CSS-селектор или верните предыдущий. Для iframe замените внешний адрес на внутреннюю тестовую страницу, которую вы контролируете. Для AJAX временно переключите метод на Load From URL с простым внутренним источником. Так вы поймёте, проблема в триггере, методе загрузки или пользовательском коде.
Сценарии, где Popup Maker Remote Content раскрывается лучше всего
У расширения есть несколько сценариев, которые нельзя заменить общей фразой "показывает попап". Его сила в том, что содержимое можно подтягивать по действию пользователя. Ниже - рабочие идеи, которые помогают понять, как пользоваться Popup Maker Remote Content в реальном проекте.
Справочные страницы без ухода со страницы
На сайтах услуг часто есть ссылки "условия", "гарантия", "политика возврата", "как проходит консультация". Обычно пользователь переходит на отдельную страницу, теряет форму или контекст заказа. С помощью Load From URL можно открывать нужный фрагмент справочной страницы в попапе. При этом оригинальная страница остаётся канонической, а попап лишь показывает её часть по требованию.
Внутренний каталог или база знаний
Если на странице перечислены элементы каталога, сотрудники, объекты недвижимости, курсы или записи базы знаний, можно открывать краткую карточку в модальном окне. Для простых карточек подойдёт загрузка фрагмента по URL. Если карточка собирается из нескольких полей и зависит от ID, лучше использовать AJAX или метод типа записи, если его возможностей хватает.
Галерея с динамическим изображением
Официальная документация приводит пример галереи, где JavaScript берёт href выбранной ссылки и передаёт его в AJAX-функцию, а PHP выводит изображение внутри попапа. Такой сценарий полезен, когда галерея уже есть на странице, но вы хотите единый контролируемый попап вместо отдельного решения для lightbox.
WooCommerce и одно окно для разных товаров
В документации AJAX-метода описана идея переиспользовать один Remote Content попап для разных WooCommerce-товаров. Смысл в том, что ID товара передаётся через триггер, а PHP-функция возвращает нужный вывод. Такой подход может заменить десятки похожих попапов, но требует аккуратного кода, тестирования корзины и проверки совместимости с темой магазина.
Практический пример: открыть фрагмент внутренней страницы в попапе
Самый безопасный практический старт - не AJAX и не внешний iframe, а внутренний фрагмент по URL. Такой пример помогает проверить всю цепочку Remote Content без пользовательского кода. Пусть на сайте есть страница с условиями доставки, а на странице товара нужно открыть только блок .delivery-help в попапе, не уводя посетителя из карточки товара.
Цель
Получить один попап, который открывается по ссылке "Условия доставки" и загружает только нужный блок с внутренней страницы. Пользователь остаётся на текущей странице, видит загрузчик, затем получает справочный текст в модальном окне.
Подготовка
- На внутренней странице доставки есть блок с классом
delivery-help. - Базовый Popup Maker открывает тестовый попап по клику.
- Popup Maker Remote Content активен, а в редакторе доступен
Remote Content Area. - Ссылка на страницу доставки доступна публично и не требует авторизации.
Шаги настройки
- Создайте новый попап в
Popup Maker-Create Popupи назовите его так, чтобы было понятно назначение, напримерDelivery Help Remote. - В редакторе попапа добавьте
Remote Content Areaчерез кнопку Popup Maker. - В настройках области оставьте метод
Load From URL. - В поле
Content CSS Selectorукажите.delivery-help. - Выберите спокойный стиль загрузчика и задайте минимальную высоту так, чтобы короткий текст не прыгал при загрузке.
- Сохраните настройки шорткода, затем опубликуйте и включите попап.
- В
Popup SettingsоткройтеTriggers, добавьтеClick Openи вExtra CSS Selectorsнастройте точное совпадение ссылки на страницу доставки. - На странице товара добавьте ссылку на ту же страницу доставки и проверьте, что URL совпадает с тем, который указан в триггере.
Проверка результата
Откройте страницу товара как обычный посетитель и нажмите ссылку. Если всё настроено правильно, перехода на страницу доставки не будет. Вместо этого откроется попап, появится загрузчик, затем внутри окна отобразится содержимое блока .delivery-help. Проверьте, что в попап не попали шапка, меню, подвал и лишние секции.
Затем измените текст внутри исходного блока на странице доставки и повторите тест. Если попап показывает обновлённый текст, вы подтвердили главный смысл Remote Content: контент поддерживается в одном месте, а показывается там, где нужен пользователю.
Нюанс, который часто ломает пример
Самая частая ошибка - URL в ссылке и URL в Extra CSS Selectors отличаются мелочью: слешем в конце, протоколом, доменом, параметром или опечаткой. Для точного совпадения это критично. Если попап не открывается, скопируйте фактический href из HTML публичной страницы и сравните его с настройкой триггера.
Проверка результата: если попап открывается, но внутри пусто, триггер уже работает. Дальше проверяйте метод загрузки, CSS-селектор и доступность исходной страницы.
Безопасная AJAX-настройка без правки ядра плагина
AJAX-метод - самая гибкая часть Popup Maker Remote Content, но и самая требовательная к дисциплине. Официальная документация показывает принцип: JavaScript передаёт значения в jQuery.fn.popmake.rc_user_args, а PHP-функция возвращает HTML. Для публикации на реальном сайте этот принцип нужно дополнить базовой санитарной обработкой и экранированием.
Ниже не универсальный готовый модуль, а безопасный каркас для простого сценария: пользователь кликает по ссылке с атрибутом data-rc-title, JavaScript передаёт этот заголовок, а PHP выводит короткое сообщение. Используйте его как основу для теста и заменяйте примерные значения на свои. Код не требует правки ядра WordPress, Popup Maker или расширения.
JavaScript: передать данные перед AJAX-запросом
Добавляйте этот фрагмент через отдельный плагин для пользовательского JavaScript или через безопасный механизм вашей темы. Замените 123 на ID вашего попапа, который виден в CSS-классе вида popmake-123.
(function ($) {
$(document).ready(function () {
$('#popmake-123').on('popmakeRcBeforeAjax', function () {
var trigger = $($.fn.popmake.last_open_trigger);
$.fn.popmake.rc_user_args[123] = {
rc_title: trigger.data('rc-title') || ''
};
});
});
}(jQuery));
PHP: вывести очищенное значение
Этот фрагмент можно добавить в дочернюю тему или через плагин для snippets. В поле Function Name в настройках Remote Content Area укажите только my_remote_content_message, без скобок.
function my_remote_content_message() {
$title = isset($_REQUEST['rc_title'])
? sanitize_text_field(wp_unslash($_REQUEST['rc_title']))
: '';
if ($title === '') {
echo '<p>Информация не найдена. Вернитесь к ссылке и попробуйте снова.</p>';
return;
}
echo '<div class="remote-content-message">';
echo '<h3>' . esc_html($title) . '</h3>';
echo '<p>Этот блок создан динамически после клика по элементу.</p>';
echo '</div>';
}
Смысл примера - показать безопасную границу. Данные из $_REQUEST очищаются через sanitize_text_field и выводятся через esc_html. Если вы передаёте URL, используйте подходящие функции для URL. Если выводите HTML, разрешайте только те теги, которые действительно нужны, и не пропускайте произвольный код пользователя.
Как проверить и как откатить
- Создайте тестовую ссылку с классом, который привязан к
Click Open, и атрибутомdata-rc-title. - Откройте страницу, нажмите ссылку и проверьте, что в попапе появился переданный заголовок.
- Удалите атрибут
data-rc-titleи убедитесь, что выводится понятное сообщение об отсутствии данных. - Если возникла ошибка, временно переключите
Remote Content AreaнаLoad From URL, отключите фрагменты JS/PHP и проверьте, работает ли базовый попап.
Не используйте этот каркас для персональных данных, приватных материалов, платежных действий или изменения корзины без отдельной серверной проверки прав и nonce. Remote Content помогает отрисовать ответ, но не заменяет полноценную безопасность бизнес-логики.
Почему удалённый контент не загружается и как диагностировать проблему
Диагностику лучше вести по цепочке: триггер, открытие попапа, выбор метода, источник, селектор, браузерные ограничения, кеш и пользовательский код. Если прыгать сразу к сложным причинам, легко пропустить простую опечатку в URL или отключённый попап.
Попап вообще не открывается
Симптом: клик по ссылке ведёт на обычную страницу или ничего не происходит. Загрузчик Remote Content не появляется.
Сначала проверьте не область удалённого контента, а Click Open триггер. Убедитесь, что попап опубликован и включён, условия показа не исключают текущую страницу, а селектор в Extra CSS Selectors соответствует реальному HTML элемента. Если используется точное совпадение ссылки, сравните фактический href с настройкой.
Если ссылка должна одновременно открывать попап и выполнять стандартное действие, посмотрите расширенные настройки триггера. В некоторых сценариях нужно разрешить стандартную обработку клика, но для обычной удалённой загрузки это может мешать, потому что браузер уйдёт по ссылке.
Попап открывается, но внутри пусто
Симптом: модальное окно появляется, загрузчик исчезает, но контента нет или видна пустая область.
Для Load From URL проверьте Content CSS Selector. Если селектор не найден на загружаемой странице, результат будет пустым. Временно очистите поле селектора и посмотрите, загрузится ли вся страница. Если вся страница загрузилась, проблема именно в селекторе. Затем верните более точный класс.
Также проверьте доступность URL для обычного посетителя. Если страница открывается только администраторам, скрыта паролем или отдаёт редирект, попап может получить не тот HTML, который вы ожидаете.
В iframe видно сообщение об отказе подключения
Симптом: вместо внешней страницы появляется ошибка браузера, часто с формулировкой про отказ отображения во фрейме.
Причина обычно в заголовках безопасности внешнего сайта: X-Frame-Options или Content-Security-Policy: frame-ancestors. Это нормальная защита от нежелательного встраивания. Исправить её на чужом сайте нельзя. Используйте официальный embed-адрес, страницу на своём домене, ссылку с открытием в новой вкладке или другой формат вывода.
Загружается вся страница вместо нужного блока
Симптом: в попапе видны шапка, меню, подвал и лишняя верстка.
Укажите более точный Content CSS Selector. Не выбирайте общий контейнер страницы, если нужен только текстовый блок. Если тема не даёт стабильного класса, добавьте свой класс в редакторе блока, в шаблоне или в секции конструктора страниц. После изменения очистите кеш страницы и повторите тест.
AJAX-сценарий возвращает ошибку или неправильные данные
Симптом: попап открывается, но AJAX-ответ пустой, содержит PHP-предупреждение или показывает данные не того элемента.
Проверьте четыре места: ID попапа в JavaScript, событие popmakeRcBeforeAjax, имя функции в поле Function Name и обработку входных данных в PHP. Частая ошибка - указать my_function() вместо my_function. Ещё одна ошибка - забыть заменить тестовый ID в rc_user_args.
Если код связан с WooCommerce, проверяйте сценарий на тестовом товаре. Не выводите приватные данные заказа или пользователя только потому, что их можно получить в PHP. Remote Content отвечает за загрузку, а доступ к данным должен контролироваться отдельно.
После включения кеша поведение стало нестабильным
Симптом: у администратора всё работает, а у обычных посетителей контент не обновляется, скрипт не запускается или попап открывается не всегда.
Кеш и оптимизация JavaScript могут менять порядок загрузки скриптов. Временно отключите объединение и отложенную загрузку JS, очистите кеш страницы и проверьте снова. Если проблема исчезла, добавьте исключения для скриптов Popup Maker или для пользовательского JS, который передаёт данные в AJAX. Не отключайте весь кеш навсегда без причины, лучше найдите точное исключение.
Когда откатывать настройку: если Remote Content используется на важной форме, в каталоге товаров или в пользовательском кабинете и после включения появляются случайные ошибки, временно верните обычную страницу или статический попап. Сначала восстановите стабильный путь пользователя, потом диагностируйте удалённую загрузку.
Проверка скорости, SEO и удобства после настройки
Удалённая загрузка может улучшить начальную страницу, потому что часть контента приходит только после действия пользователя. Но это не автоматическая гарантия скорости. Если по клику загружается тяжёлая внешняя страница, сложная форма или большой HTML с лишними скриптами, пользователь всё равно почувствует задержку. Поэтому проверка результата должна включать не только "открылось или нет", но и качество открытия.
Что смотреть в браузере
Откройте инструменты разработчика и вкладку сети. Нажмите триггер и посмотрите, какой запрос выполняется, сколько он занимает времени и какой ответ возвращает. Для Load From URL проверьте, не загружается ли лишняя страница целиком, если вы ожидали фрагмент. Для iframe проверьте, нет ли ошибок блокировки. Для AJAX проверьте статус ответа и отсутствие PHP-предупреждений.
Если запрос выполняется долго, уменьшайте источник. Вместо всей страницы используйте конкретный селектор. Вместо внешнего сайта, который грузит множество ресурсов, используйте облегчённую embed-страницу или локальную справочную страницу. Вместо сложного AJAX-ответа с большим HTML отдавайте только нужный блок.
SEO-нюанс для контента в попапе
Не полагайтесь на попап как на единственное место для важного индексируемого текста. Если информация важна для поиска, она должна существовать на обычной доступной странице. Remote Content может показывать её удобнее, но не должен быть единственным хранилищем критического контента. Лучший вариант - поддерживать основной материал на нормальной странице, а в попап загружать фрагмент для удобства пользователя.
Удобство и доступность
Проверьте фокус клавиатуры, закрытие попапа, прокрутку внутри контейнера и поведение на мобильной ширине. Если iframe слишком высокий, пользователь может застрять внутри внутренней прокрутки. Если минимальная высота слишком маленькая, содержимое будет прыгать. Если попап открывает внешний сайт, убедитесь, что пользователь понимает контекст и может легко закрыть окно.
Для важных сценариев добавьте понятный заголовок в сам попап или в загружаемый фрагмент. Не заставляйте пользователя угадывать, что именно открылось. Если содержимое приходит не мгновенно, загрузчик должен быть виден достаточно долго, чтобы объяснить ожидание, но не маскировать ошибку бесконечно.
Вопросы по настройке Popup Maker Remote Content
Можно ли использовать расширение без базового Popup Maker?
Нет. Это расширение для Popup Maker, а не самостоятельный конструктор попапов. Сначала должен работать базовый плагин: создание попапа, публикация, включение, триггер и условия показа. Только после этого имеет смысл подключать удалённую загрузку.
Какой метод выбрать для внешнего сайта?
Обычно выбирают iFrame, потому что внешний HTML нельзя свободно загрузить как внутренний фрагмент. Но внешний сайт может запретить встраивание. Если браузер сообщает об отказе отображения во фрейме, используйте разрешённый embed-URL, страницу на своём домене или обычную ссылку.
Почему Content CSS Selector показывает пустой попап?
Селектор не найден на загружаемой странице, находится внутри контента, который создаётся скриптом после загрузки, или отличается из-за темы и конструктора. Временно очистите селектор и проверьте, загружается ли вся страница. Если да, добавьте более точный и стабильный класс к исходному блоку.
Можно ли загружать WooCommerce-товары через один попап?
Да, документация описывает такую идею для AJAX-метода: один попап может динамически показывать разные товары по переданному идентификатору. Но это уже разработческий сценарий. Нужны проверка ID товара, корректный вывод WooCommerce-контента, тест корзины и аккуратная обработка входных данных.
Нужно ли добавлять код для обычной загрузки страницы по URL?
Нет. Для внутренней страницы или её фрагмента обычно достаточно Remote Content Area, метода Load From URL, CSS-селектора и правильно настроенного Click Open триггера. Код нужен только для AJAX-логики или нестандартного поведения.
Почему iframe работает у одного внешнего сайта и не работает у другого?
Потому что разрешение на встраивание задаёт владелец внешнего сайта. Один сайт может разрешать iframe, другой - запрещать через X-Frame-Options или frame-ancestors. Popup Maker Remote Content не может обойти такие ограничения браузера.
Влияет ли Remote Content на SEO?
Расширение не должно быть единственным местом хранения важного текста. Если материал нужен поиску и пользователям, держите его на обычной странице, а в попап подгружайте фрагмент для удобства. Такой подход снижает риск дублирования в редакторе и сохраняет нормальную структуру сайта.
Что лучше проверить перед тем, как использовать расширение на рабочем сайте?
Проверьте базовый попап, совпадение триггера и ссылки, доступность источника, CSS-селектор, мобильное отображение, кеш JavaScript, ошибки консоли и поведение для неавторизованного посетителя. Для AJAX дополнительно проверьте очистку входных данных и возможность быстрого отключения snippets.
Когда Popup Maker Remote Content будет удачным выбором
Popup Maker Remote Content стоит использовать, когда попап должен работать как умный контейнер: брать содержимое из ссылки, внутренней страницы, iframe или управляемого AJAX-ответа. Он особенно полезен для справочных блоков, галерей, каталогов, динамических карточек и сценариев, где один попап должен обслуживать много кликов без дублирования контента.
Расширение может быть лишним, если вам нужен один статический opt-in блок или простой дизайн без удалённых источников. В этом случае обычный Popup Maker, Elementor Popup Builder или другой конструктор может оказаться проще. Но если вы уже используете Popup Maker и хотите подгружать материал по требованию, Remote Content даёт точную связку "триггер - источник - результат".
Перед внедрением пройдите короткий контрольный список: источник доступен, метод выбран по типу источника, селектор стабилен, iframe не блокируется, AJAX-код очищает данные, кеш не ломает скрипты, а пользователь видит понятный результат. После такой проверки можно получить версию для WordPress и протестировать расширение на копии сайта или на отдельном тестовом попапе.
Лучший результат получается не тогда, когда в попап загружают всё подряд, а когда каждый удалённый фрагмент закрывает конкретный вопрос посетителя. Если клик помогает человеку быстро увидеть нужные детали и вернуться к исходной странице без потери контекста, Popup Maker Remote Content используется по назначению.


