Bootstrap Modal не будет загружать переменные PHP - PullRequest
1 голос
/ 07 марта 2019

Я пытаюсь загрузить iframe (специально для YouTube) в модал начальной загрузки.Если я помещаю код iframe прямо в модал, он загружается нормально.Но когда я передаю код iframe через переменную, он не загружается.Я могу отобразить iframe за пределами модального режима, и он нормально загружается, просто внутри модального режима iframe не будет загружаться.

Это работает CASE 1

<div class="modal fade" id="video-modal" tabindex="-1" role="dialog" aria-labelledby="video-modalLabel"
     aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-body">
                <iframe width="1280" height="720" src="https://www.youtube.com/embed/9Gb7M7S6T7U" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
            </div>
        </div>
    </div>
</div>

Это также загрузит iframe CASE 2

<?php
    echo $video;
?>
<div class="modal fade" id="video-modal" tabindex="-1" role="dialog" aria-labelledby="video-modalLabel"
     aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-body">
            </div>
        </div>
    </div>
</div>

Это не работает CASE 3

    <div class="modal fade" id="video-modal" tabindex="-1" role="dialog" aria-labelledby="video-modalLabel"
     aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-body">
                <?php
                    echo $video;
                ?>
            </div>

        </div>
    </div>
</div>

Любая идея, почему?

Для контекста, это в Wordpress 5, PHP7, и значение $ video вызывается из поля ACF.

1 Ответ

0 голосов
/ 07 марта 2019

После значительных исследований я нашел решение этой проблемы. Это как-то связано с выполнением PHP до рендеринга этого раздела HTML, что останавливает передачу любых значений из переменных PHP.

Есть 2 возможных решения, о которых я знаю, я использовал последнее.

Решение 1 изложено в этом SO Вопрос

Решение 2 было

  1. Локализуйте строку iframe с помощью wp_localize_script
  2. Использование jQuery для получения строки из локализованных данных
  3. ". Html ()" строка iframe в модальное тело

Этот jQuery выглядит примерно так

(function ($, video_data) {
$(document).ready(function () {

    var video = video_data.video_data['video'];

    $('#video-modal').find('.modal-body').html(video);


});})(jQuery, video_data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...