wpnotes.ru wordpress WP Notes

Как создать автоматические поп-ап окна в WordPress

Автоматические поп-ап окна — эффективный способ привлечь внимание посетителей сайта, повысить конверсию и собрать контактные данные. В этой статье мы подробно рассмотрим, как создать автоматические поп-ап окна в WordPress, используя как готовые плагины, так и собственные решения на PHP и JavaScript. Вы узнаете, как настроить показ поп-апов по времени, по прокрутке страницы и по взаимодействию с пользователем.

Зачем нужны автоматические поп-ап окна в WordPress

Поп-апы позволяют:

  • Собрать email посетителей для рассылок.
  • Предложить скидки и акции.
  • Увеличить вовлеченность и время на сайте.
  • Показать важную информацию или уведомления.

Однако важно, чтобы поп-апы не раздражали пользователей. Для этого их нужно грамотно настраивать по триггерам и времени показа.

Выбор плагина для автоматических поп-ап окон

Для большинства пользователей оптимальным вариантом будет использование плагинов. Рассмотрим несколько популярных решений:

1. My Popup

Плагин My Popup от WPShop позволяет легко создавать красивые и адаптивные поп-ап окна с множеством настроек. Среди ключевых функций:

  • Выбор триггеров: по времени, по прокрутке, при попытке ухода.
  • Гибкий дизайн с использованием визуального редактора.
  • Интеграция с популярными сервисами email-маркетинга.

Для настройки достаточно установить и активировать плагин, затем создать новый поп-ап через административную панель, выбрав тип и условия показа.

2. Popup Maker

Бесплатный и мощный плагин с широкими возможностями. Позволяет создавать условия показа, таргетинг по страницам и пользовательским ролям. Поддерживает создание форм и мультимедийного контента внутри поп-апа.

Как создать простой автоматический поп-ап без плагинов

Если хочется обойтись без дополнительных плагинов, можно написать небольшой скрипт и добавить его в тему или через плагин для пользовательских функций.

Пример кода для показа поп-апа через 10 секунд после загрузки страницы

<script>
document.addEventListener('DOMContentLoaded', function() {
    setTimeout(function() {
        var popup = document.createElement('div');
        popup.id = 'wpnotes-popup';
        popup.style.position = 'fixed';
        popup.style.top = '50%';
        popup.style.left = '50%';
        popup.style.transform = 'translate(-50%, -50%)';
        popup.style.background = '#fff';
        popup.style.padding = '20px';
        popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.3)';
        popup.style.zIndex = '9999';
        popup.innerHTML = '<h2>Подпишитесь на нашу рассылку</h2><p>Получайте полезные советы и новости!</p><button id="wpnotes-popup-close">Закрыть</button>';
        document.body.appendChild(popup);

        document.getElementById('wpnotes-popup-close').onclick = function() {
            popup.style.display = 'none';
        };
    }, 10000); // 10000 мс = 10 секунд
});
</script>

Этот код создает базовое всплывающее окно, которое появляется через 10 секунд после загрузки страницы. Вы можете расширить функционал, добавив стили, анимацию и дополнительные условия показа.

Добавление условий показа и управления показом поп-апа

Чтобы не раздражать пользователей, рекомендуется показывать поп-ап не каждый раз. Для этого можно использовать localStorage или cookies.

Пример с использованием localStorage для однократного показа

<script>
document.addEventListener('DOMContentLoaded', function() {
    if (!localStorage.getItem('wpnotesPopupShown')) {
        setTimeout(function() {
            var popup = document.createElement('div');
            popup.id = 'wpnotes-popup';
            popup.style.position = 'fixed';
            popup.style.top = '50%';
            popup.style.left = '50%';
            popup.style.transform = 'translate(-50%, -50%)';
            popup.style.background = '#fff';
            popup.style.padding = '20px';
            popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.3)';
            popup.style.zIndex = '9999';
            popup.innerHTML = '<h2>Подпишитесь на нашу рассылку</h2><p>Получайте полезные советы и новости!</p><button id="wpnotes-popup-close">Закрыть</button>';
            document.body.appendChild(popup);

            document.getElementById('wpnotes-popup-close').onclick = function() {
                popup.style.display = 'none';
                localStorage.setItem('wpnotesPopupShown', 'true');
            };
        }, 10000);
    }
});
</script>

Такой подход гарантирует, что пользователь увидит поп-ап только один раз, что улучшает UX и снижает раздражение.

Расширенные варианты: показ поп-ап по прокрутке или по попытке ухода

Часто поп-апы показывают не просто по таймеру, а по определенным событиям:

  • По прокрутке страницы: например, показать окно, когда пользователь пролистал 50% контента.
  • По намерению покинуть сайт (exit intent): когда пользователь двигает курсор к верхней части окна, что может означать закрытие вкладки.

Пример показа поп-апа при прокрутке 50% страницы

<script>
document.addEventListener('DOMContentLoaded', function() {
    function wpnotesShowPopup() {
        if (localStorage.getItem('wpnotesPopupShown')) return;

        var popup = document.createElement('div');
        popup.id = 'wpnotes-popup';
        popup.style.position = 'fixed';
        popup.style.top = '50%';
        popup.style.left = '50%';
        popup.style.transform = 'translate(-50%, -50%)';
        popup.style.background = '#fff';
        popup.style.padding = '20px';
        popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.3)';
        popup.style.zIndex = '9999';
        popup.innerHTML = '<h2>Не пропустите скидку!</h2><p>Подпишитесь на новости.</p><button id="wpnotes-popup-close">Закрыть</button>';
        document.body.appendChild(popup);

        document.getElementById('wpnotes-popup-close').onclick = function() {
            popup.style.display = 'none';
            localStorage.setItem('wpnotesPopupShown', 'true');
            window.removeEventListener('scroll', wpnotesCheckScroll);
        };
    }

    function wpnotesCheckScroll() {
        var scrollPosition = window.scrollY + window.innerHeight;
        var pageHeight = document.documentElement.scrollHeight;
        if (scrollPosition > pageHeight / 2) {
            wpnotesShowPopup();
        }
    }

    window.addEventListener('scroll', wpnotesCheckScroll);
});
</script>

Показ поп-апа при попытке ухода с сайта (exit intent)

Для реализации exit intent можно отслеживать движение мыши и показывать окно, если курсор покидает видимую область сверху:

<script>
document.addEventListener('DOMContentLoaded', function() {
    function wpnotesShowExitPopup() {
        if (localStorage.getItem('wpnotesExitPopupShown')) return;

        var popup = document.createElement('div');
        popup.id = 'wpnotes-exit-popup';
        popup.style.position = 'fixed';
        popup.style.top = '50%';
        popup.style.left = '50%';
        popup.style.transform = 'translate(-50%, -50%)';
        popup.style.background = '#fff';
        popup.style.padding = '20px';
        popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.3)';
        popup.style.zIndex = '9999';
        popup.innerHTML = '<h2>Подождите!</h2><p>Не уходите без подписки!</p><button id="wpnotes-exit-popup-close">Закрыть</button>';
        document.body.appendChild(popup);

        document.getElementById('wpnotes-exit-popup-close').onclick = function() {
            popup.style.display = 'none';
            localStorage.setItem('wpnotesExitPopupShown', 'true');
            document.removeEventListener('mouseout', wpnotesDetectExitIntent);
        };
    }

    function wpnotesDetectExitIntent(e) {
        if (e.clientY < 10 && !localStorage.getItem('wpnotesExitPopupShown')) {
            wpnotesShowExitPopup();
            document.removeEventListener('mouseout', wpnotesDetectExitIntent);
        }
    }

    document.addEventListener('mouseout', wpnotesDetectExitIntent);
});
</script>

Интеграция поп-ап с формами и email-сервисами

Чтобы поп-апы приносили реальную пользу, их часто интегрируют с формами подписки, которые отправляют данные в сервисы email-маркетинга. Плагин My Popup поддерживает интеграцию с Mailchimp, GetResponse и другими.

Если вы создаете форму вручную, можно использовать AJAX для отправки данных на сервер и сохранения их в базе или передачи в API. Пример AJAX-обработчика в functions.php темы:

add_action('wp_ajax_wpnotes_subscribe', 'wpnotes_subscribe_ajax_handler');
add_action('wp_ajax_nopriv_wpnotes_subscribe', 'wpnotes_subscribe_ajax_handler');

function wpnotes_subscribe_ajax_handler() {
    $email = sanitize_email($_POST['email']);
    if (!is_email($email)) {
        wp_send_json_error('Неверный email');
    }

    // Здесь можно добавить логику сохранения email или отправки в сервис

    wp_send_json_success('Спасибо за подписку!');
}

И пример JavaScript для отправки формы из поп-апа:

document.getElementById('wpnotes-subscribe-form').addEventListener('submit', function(e) {
    e.preventDefault();
    var email = this.elements['email'].value;

    fetch('<?php echo admin_url('admin-ajax.php'); ?>', {
        method: 'POST',
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        body: 'action=wpnotes_subscribe&email=' + encodeURIComponent(email)
    })
    .then(response => response.json())
    .then(data => {
        alert(data.data);
        if (data.success) {
            document.getElementById('wpnotes-popup').style.display = 'none';
        }
    });
});

Заключение по созданию автоматических поп-ап окон в WordPress

Автоматические поп-ап окна — мощный инструмент для взаимодействия с посетителями сайта. Для быстрого запуска лучше использовать проверенные плагины, например, My Popup. Для более гибких и уникальных решений можно написать собственные скрипты с условием показа по таймеру, прокрутке или exit intent.

Обязательно учитывайте удобство пользователей и показывайте поп-апы умеренно, с возможностью легко закрыть окно. Также интегрируйте формы подписки с сервисами email-маркетинга для максимальной эффективности.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее