@Dioksin

Как отобразить всплывающую форму по нажатию кнопки в WordPress?

Исследующую существующий код сайта, сделанного в WordPress. Есть вот такая кнопка
<button class="button is-primary is-large showModal" name="button" type="button">Посмотреть ознакомительное видео с упражнениями</button>


По нажатию на эту кнопку показывается всплывающая форма. Код формы находится в php файле (используется плагин Contact Form)
<div class="modal">
    <div class="modal-background"></div>
    <div class="modal-card">
        <header class="modal-card-head">
            <p class="modal-card-title">Запись на консультацию</p>
            <button class="delete" aria-label="close"><i class="far fa-times-circle"></i></button>
        </header>
        <section class="modal-card-body">
            <?php echo do_shortcode('[contact-form-7 id="281" title="Контактная форма 1"]'); ?>
        </section>
        <footer class="modal-card-foot">
        </footer>
    </div>
</div>


Не могу разобраться каким образом код кнопки из HTML файла связывается из кода формы из php файла? Задача состоит в отображении ещё одной формы по нажатии на кнопку. Форму и кнопку сделал по аналогии с кодом выше, а вот как их связать вместе?

P.S. Плагинов FancyBox, PopupMaker нет. После установки плагина FancyBox, код выше перестал работать. При нажатии на кнопку форма перестала отображаться. Снёс плагин - работает. :)
  • Вопрос задан
  • 816 просмотров
Решения вопроса 1
AntonLitvinenko
@AntonLitvinenko
HTML coder
Dioksin, за модалку отвечает только этот код
$(".showModal").click(function() {
  $(".modal").addClass("is-active");
});

$(".delete, .modal-background").click(function() {
  $(".modal").removeClass("is-active");
});

и по сути он ничего не делает кроме как добавляет класс для открытия модалки и удаляет этот класс если кликнуть на оверлей или кнопку закрытия

а код модалки вы сами написали, он уже есть, в него только функцией
<?php echo do_shortcode('[contact-form-7 id="281" title="Контактная форма 1"]'); ?>

выводится форма из CF7
<div class="modal">
    <div class="modal-background"></div>
    <div class="modal-card">
        <header class="modal-card-head">
            <p class="modal-card-title">Запись на консультацию</p>
            <button class="delete" aria-label="close"><i class="far fa-times-circle"></i></button>
        </header>
        <section class="modal-card-body">
            <?php echo do_shortcode('[contact-form-7 id="281" title="Контактная форма 1"]'); ?>
        </section>
        <footer class="modal-card-foot">
        </footer>
    </div>
</div>

закрытие модалки универсально переписать просто
$(".delete, .modal-background").click(function() {
  $(this).parents(".modal").removeClass("is-active");
});

а вот открытие нужно либо брать по дата атрибуту, либо если вам нужно только еще одну модалку добавить, то проще продублировать код както так
$(".showModal2").click(function() {
  $(".modal.modal2").addClass("is-active");
});

у второй кнопки заменить showModal на showModal2, добавить разметку второй модалки под первой и eй добавить класс modal2, так как на класс modal скорее всего привязаны стили
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы