Зачем отключать popup на определённых страницах
Всплывающие окна (popup) — мощный инструмент для привлечения внимания и повышения конверсии. Однако иногда их нужно отключать на отдельных страницах: например, на странице оформления заказа, в личном кабинете или на страницах с важным контентом, где popup будет мешать пользователю. Правильное управление отображением popup улучшает пользовательский опыт и снижает раздражение посетителей.
В этой статье разберём несколько способов, как отключить popup для выбранных страниц WordPress, используя как плагины, так и собственные решения на PHP и JavaScript.
Отключение popup с помощью популярных плагинов
Плагин My Popup от WPSHOP
Плагин My Popup позволяет гибко настраивать показ всплывающих окон, включая возможность исключения страниц.
Для отключения popup на отдельных страницах:
- Откройте настройки popup в админке WordPress.
- В разделе Отображение найдите опцию Исключить страницы или аналогичную.
- Добавьте ID или URL страниц, где popup не должен показываться.
Это самый простой способ без программирования.
Плагин Popup Maker
Если вы используете популярный Popup Maker, в настройках каждого popup есть вкладка Display Rules — «Правила отображения». Там можно добавить условие Exclude Pages и указать страницы, где окно не показывается.
Это удобный интерфейс для управления показом popup без кода.
Отключение popup через код: фильтрация по ID и условным тегам WordPress
Иногда требуется более тонкий контроль, особенно если popup генерируется кастомным кодом или плагином без удобных настроек.
Пример отключения popup на определённых страницах в functions.php
Допустим, у вас есть функция wppopup_show_popup(), которая выводит popup. Чтобы отключить её на нужных страницах, используйте условные теги WordPress:
function wppopup_disable_on_pages() {
// Массив ID страниц, где popup не нужен
$excluded_pages = array(10, 20, 30); // замените на свои ID
if (is_page($excluded_pages)) {
return; // не выводим popup
}
wppopup_show_popup();
}
add_action('wp_footer', 'wppopup_disable_on_pages');Здесь мы подключаем показ popup в футере, но пропускаем его, если текущая страница находится в списке исключений.
Как узнать ID страницы
ID страницы можно узнать в админке WordPress: при редактировании страницы посмотрите URL, там будет post=ID. Или наведите мышь на название страницы в списке страниц, и внизу браузера увидите ссылку с ID.
Использование условных тегов для более сложных условий
Кроме ID, можно использовать и другие условные теги:
is_front_page()— главная страница;is_home()— блог;is_single()— отдельная запись;is_category()— категория;is_user_logged_in()— проверка пользователя.
Например, отключить popup для авторизованных пользователей:
function wppopup_disable_for_logged_in() {
if (is_user_logged_in()) {
return;
}
wppopup_show_popup();
}
add_action('wp_footer', 'wppopup_disable_for_logged_in');Отключение popup через JavaScript на клиенте
Если popup вызывается через JavaScript, можно отключить его после загрузки страницы, проверив URL или другие параметры.
document.addEventListener('DOMContentLoaded', function() {
var excludedUrls = ['/checkout/', '/my-account/'];
var currentPath = window.location.pathname;
if (excludedUrls.indexOf(currentPath) !== -1) {
var popup = document.getElementById('popup-id');
if (popup) {
popup.style.display = 'none';
}
// Или отключить запуск скрипта, если возможно
}
});Этот способ менее надежен, чем серверный, но полезен, если нет доступа к PHP.
Использование хуков плагинов для управления показом popup
Многие плагины для popup предлагают хуки, фильтры и условия, с помощью которых можно программно контролировать показ.
Например, в популярном плагине можно использовать фильтр popup_maker_should_open_popup:
add_filter('popup_maker_should_open_popup', 'wppopup_disable_popup_filter', 10, 2);
function wppopup_disable_popup_filter($should_open, $popup_id) {
$excluded_pages = array(10, 20);
if (is_page($excluded_pages)) {
return false; // отключить popup
}
return $should_open;
}Такой подход позволяет централизованно управлять показом без изменения основного кода плагина.
Выводы и рекомендации
Отключение popup на определённых страницах — частая задача для улучшения UX и повышения эффективности маркетинга. Выбирайте метод в зависимости от используемого плагина и архитектуры сайта:
- Если используете My Popup или Popup Maker, настройте исключения в настройках.
- Для кастомных решений лучше применять условные теги WordPress в PHP.
- Если доступа к серверу нет, используйте JavaScript для скрытия popup.
- Исследуйте хуки и фильтры вашего плагина, чтобы программно управлять показом popup.
Для расширенных возможностей рекомендуем плагин My Popup от WPSHOP, который поддерживает гибкие условия показа и исключения.