В этом уроке мы разберем, как сделать мульти кнопку для сайта с помощью HTML, JS и CSS. При нажатии на кнопку будут появляться всплывающие кнопки с ссылками на чаты в WhatsApp и Telegram, а также кнопка позвонить по телефону. Поняв принцип вы сможете добавлять любое количество всплывающих кнопок с нужными вам контактами.
Также мы рассмотрим готовый плагин с кнопкой для WordPress.
HTML код кнопки
Для начала пропишем код самой кнопки. Этот код необходимо размещать внутри тела страницы, между тегами <body> и </body>.
<div class="fixed-button">
<button id="main-button">
<!-- Иконка для главной кнопки -->
<img src="/путь к файлу/main-icon.svg" alt="Menu">
</button>
<div class="popup">
<!-- Ссылки и иконки для всплывающих кнопок -->
<a href="tel:1234567890" class="popup-button">
<img src="/путь к файлу/tel.svg" alt="Телефон" title="Позвонить">
</a>
<a href="https://wa.me/1234567890" class="popup-button">
<img src="/путь к файлу/whatsapp.svg" alt="WhatsApp" title="Написать в WhatsApp">
</a>
<a href="https://t.me/username" class="popup-button">
<img src="/путь к файлу/telegram.svg" alt="Telegram" title="Написать в Telegram">
</a>
</div>
</div>
В коде мы использовали svg иконки, которые нужно предварительно загрузить на хостинг, в папку с вашим сайтом. Затем в коде прописать путь к месту расположения файлов.
Итак, мы загрузили иконки, прописали код главной кнопки и трёх всплывающих кнопок с нужными нам контактами.
CSS стиль кнопки
Теперь нам нужно всё это дело красиво оформить, например следующим образом.
.fixed-button {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 999999;
}
#main-button {
width: 60px;
height: 60px;
border-radius: 50%;
border: none;
background-color: #007BFF;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
#main-button img {
width: 30px;
height: 30px;
}
.popup {
display: none;
position: absolute;
bottom: 70px;
right: 0;
flex-direction: column;
align-items: center;
}
.popup-button {
width: 50px;
height: 50px;
margin-bottom: 10px;
border-radius: 50%;
background-color: #FFF;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.popup-button img {
width: 25px;
height: 25px;
}
.popup-button:hover {
transform: scale(1.1);
}
Также, с помощью CSS, кнопке можно добавить красивую анимацию и всякие всплывающие подсказки.
Скрипт для кнопки
Теперь пропишем скрипт, чтобы у кнопки появилась функция отображения скрытых всплывающих кнопок.
document.addEventListener('DOMContentLoaded', function () {
const mainButton = document.getElementById('main-button');
const popup = document.querySelector('.popup');
mainButton.addEventListener('click', function () {
popup.style.display = popup.style.display === 'flex' ? 'none' : 'flex';
});
document.addEventListener('click', function (event) {
if (!mainButton.contains(event.target) && !popup.contains(event.target)) {
popup.style.display = 'none';
}
});
});
Если вы планируете добавить этот скрипт напрямую в тело или подвал страницы, то необходимо обернуть его в теги <script>...</script>.
Если же вы хотите подключить его как отдельный файл, то создайте файл script.js и поместите туда код. Далее этот файл нужно будет подключить к вашему сайту. В WordPress это можно сделать через functions.php, либо опять же прописать на странице.
<script src="...путь к файлу/script.js"></script>
Установка кнопки на HTML сайт
Примерно так будет выглядеть код, если подключить весь код кнопки напрямую, без использования дополнительных файлов.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Мульти кнопка</title>
</head>
<body>
<div class="fixed-button">
<button id="main-button">
<!-- Иконка для главной кнопки -->
<img src="/путь к файлу/main-icon.svg" alt="Menu">
</button>
<div class="popup">
<!-- Ссылки и иконки для всплывающих кнопок -->
<a href="tel:1234567890" class="popup-button">
<img src="/путь к файлу/tel.svg" alt="Телефон" title="Позвонить">
</a>
<a href="https://wa.me/1234567890" class="popup-button">
<img src="/путь к файлу/whatsapp.svg" alt="WhatsApp" title="Написать в WhatsApp">
</a>
<a href="https://t.me/username" class="popup-button">
<img src="/путь к файлу/telegram.svg" alt="Telegram" title="Написать в Telegram">
</a>
</div>
</div>
<style>
.fixed-button {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 999999;
}
#main-button {
width: 60px;
height: 60px;
border-radius: 50%;
border: none;
background-color: #007BFF;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
#main-button img {
width: 30px;
height: 30px;
}
.popup {
display: none;
position: absolute;
bottom: 70px;
right: 0;
flex-direction: column;
align-items: center;
}
.popup-button {
width: 50px;
height: 50px;
margin-bottom: 10px;
border-radius: 50%;
background-color: #FFF;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.popup-button img {
width: 25px;
height: 25px;
}
.popup-button:hover {
transform: scale(1.1);
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function () {
const mainButton = document.getElementById('main-button');
const popup = document.querySelector('.popup');
mainButton.addEventListener('click', function () {
popup.style.display = popup.style.display === 'flex' ? 'none' : 'flex';
});
document.addEventListener('click', function (event) {
if (!mainButton.contains(event.target) && !popup.contains(event.target)) {
popup.style.display = 'none';
}
});
});
</script>
</body>
</html>
Если подключать отдельно файл стилей и скрипт, то код будет следующим.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Мульти кнопка</title>
<link rel="stylesheet" href="/путь к файлу/styles.css">
</head>
<body>
<div class="fixed-button">
<button id="main-button">
<!-- Иконка для главной кнопки -->
<img src="/путь к файлу/main-icon.svg" alt="Menu">
</button>
<div class="popup">
<!-- Ссылки и иконки для всплывающих кнопок -->
<a href="tel:1234567890" class="popup-button">
<img src="/путь к файлу/tel.svg" alt="Телефон" title="Позвонить">
</a>
<a href="https://wa.me/1234567890" class="popup-button">
<img src="/путь к файлу/whatsapp.svg" alt="WhatsApp" title="Написать в WhatsApp">
</a>
<a href="https://t.me/username" class="popup-button">
<img src="/путь к файлу/telegram.svg" alt="Telegram" title="Написать в Telegram">
</a>
</div>
</div>
<script src="/путь к файлу/script.js"></script>
</body>
</html>
Установка кнопки на WordPress
Подключение на WordPress сайте происходит аналогично. Расписывать куда вставлять HTML и CSS код не буду, об этом есть много информации, в том числе и на нашем сайте.
Единственное, если вы будете подключать файл со скриптом через functions.php, то код будет следующим.
add_action( 'wp_enqueue_scripts', 'my_script_1' );
function my_script_1(){
wp_enqueue_script( 'popupscript', get_template_directory_uri() . '/путь к файлу/script.js');
}
Готовый WordPress плагин мульти кнопки

Тем, кому сложно разбираться с кодом предлагаю свой готовый плагин для WordPress, где кнопку можно легко настроить под ваш стиль сайта. У кнопки есть красивая анимация, всплывающие подсказки и возможность настройки внешнего вида. Плагин платный, но не дорогой.
Ссылка на плагин Multibutton Fixed