Почему не всплывает модальное окно?

362
11 марта 2017, 03:42

Есть сайт на wordpress и плагин видео плеера, построенный на основе библиотеки Magnific Popup когда на странице выводится в виде шорткода [sp_html5video] - все отлично работает код шорткода:

<?php
function sp_html5video_shortcode( $atts, $content = null ) {
..
  // Popup Configuration
  $popup_conf = compact('popup_fix'); 
?>
<div class="wp-html5vp-video-row video-row video-row-clearfix" id="wp-html5vp-<?php echo $unique; ?>">
...
<div class="wp-html5vp-popup-conf"><?php echo json_encode( $popup_conf ); ?></div><!-- end of-popup-conf -->
</div>
}
jQuery(document).ready(function($) {
  $( '.wp-html5vp-video-row' ).each(function( index ) {
    var popup_id   = $(this).attr('id');
    var popup_conf = $.parseJSON( $(this).find('.wp-html5vp-popup-conf').text());
    if( typeof(popup_id) != 'undefined' ) {
      jQuery('#'+popup_id+ ' .popup-youtube').magnificPopup({                    
        type: 'iframe',
        mainClass: 'mfp-fade wp-html5vp-mfp-zoom-in wp-html5vp-popup-main-wrp',
        removalDelay: 160,
        preloader: false,
        fixedContentPos: popup_conf.popup_fix == 'true' ? true : 0,
      });
      jQuery('#'+popup_id+ ' .popup-modal').magnificPopup({                                      
        mainClass: 'mfp-fade wp-html5vp-popup-main-wrp',
        removalDelay: 160,
        preloader: false,
        fixedContentPos: popup_conf.popup_fix == 'true' ? true : 0,
      });
    }
  });
});

Мне нужно на отдельной странице вывести функционал шорткода, с которым хочу произвести доп действия. Для этого - переношу содержимое функции шорткода в php файл, но модальное окно не срабатывает.. Пишет ошибку:

Uncaught SyntaxError: Unexpected token A in JSON at position 0

Для такого вывода

console.log($(this).find('.wp-html5vp-popup-conf').text());

вместо (как должно быть по аналогии с шорткодом) {"popup_fix":"false"} пишет Array В чем у меня ошибка и как ее устранить?

Answer 1

Все, разобрался - у меня почему-то в выводе было

echo $popup_conf ;

вместо

echo json_encode( $popup_conf );
READ ALSO
Почему при работе с react-popout вылетает ошибка?

Почему при работе с react-popout вылетает ошибка?

Использую данный плагинЕсть страница, на которой после клику по кнопке будет всплывать попаут

215
Парсинг JSON в JavaScript

Парсинг JSON в JavaScript

Добрый деньОписываю ситуацию: Нужно распарсить JSON с помощью JavaScript

485
Очистка $scope переменной в AngularJS

Очистка $scope переменной в AngularJS

Проблема заключается в том, что происходит утечка памятиПеременная содержит данные, при уходе со страницы я выполняю destroy

235
Изменить стиль с помощью JS

Изменить стиль с помощью JS

Есть менюПри клике оно выезжает вниз

260