Для реализации всплывающего сообщения на WordPress с интервалом в 5 минут, можно использовать комбинацию PHP и jаvascript. Вот пошаговое решение:
1. Создание PHP-функции для вывода скрипта
Добавьте следующий код в файл functions.php вашей темы:
function show_popup_script() {
?>
<script>
// Функция для показа всплывающего окна
function showPopup() {
var popup = document.createElement('div');
popup.style.cssText = `
position: fixed;
bottom: 20px;
right: 20px;
background: #4CAF50;
color: white;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 10px rgba(0,0,0,0.3);
animation: fadeIn 0.5s;
`;
popup.innerHTML = '<p>Здорово! Вам понравился наш сайт?</p>';
document.body.appendChild(popup);
// Закрытие через 5 секунд
setTimeout(() => {
popup.style.animation = 'fadeOut 0.5s';
setTimeout(() => {
document.body.removeChild(popup);
}, 500);
}, 5000);
}
// Запуск таймера
setTimeout(showPopup, 5 * 60 * 1000); // 5 минут
</script>
<?php
}
// Добавляем скрипт на фронтенд
add_action('wp_footer', 'show_popup_script');
2. Добавление CSS-анимации (опционально)
Добавьте в ваш stylesheet (style.css) темы следующие стили:
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; }
}
3. Улучшенный вариант с локальным хранилищем
Чтобы сообщение не показывалось повторно при обновлении страницы:
function show_popup_script() {
?>
<script>
function showPopup() {
var popup = document.createElement('div');
popup.style.cssText = `
position: fixed;
bottom: 20px;
right: 20px;
background: #4CAF50;
color: white;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 10px rgba(0,0,0,0.3);
animation: fadeIn 0.5s;
`;
popup.innerHTML = '<p>Здорово! Вам понравился наш сайт?</p>';
document.body.appendChild(popup);
// Сохраняем в localStorage
localStorage.setItem('popupShown', 'true');
setTimeout(() => {
popup.style.animation = 'fadeOut 0.5s';
setTimeout(() => {
document.body.removeChild(popup);
}, 500);
}, 5000);
}
// Проверяем localStorage
if (!localStorage.getItem('popupShown')) {
setTimeout(showPopup, 5 * 60 * 1000);
}
</script>
<?php
}
add_action('wp_footer', 'show_popup_script');
Дополнительные настройки
-
Время показа можно изменить, меняя значение в setTimeout
-
Внешний вид настраивается через CSS стили
-
Текст сообщения можно изменить в HTML части скрипта
-
Положение на странице настраивается через CSS свойства bottom и right
Рекомендации по безопасности
-
Всегда делайте резервную копию файлов перед изменениями
-
Используйте дочернюю тему для внесения изменений
-
Тестируйте код на тестовой версии сайта
-
Проверяйте работу во всех основных браузерах
Если вам нужно более сложное поведение (например, сбор статистики), можно расширить функционал, добавив AJAX-запросы к WordPress API.