在Java脚本标记内调用PHP标题

时间:2016-05-17 作者:BlueHelmet

我有一个视频库,所有的标题都是由php. 它们来自我的Wordpress媒体库的附件标题。

然而,这些视频的lightbox是用javascript定制的。我怎样才能把php 中的标题iframe markup?

PHP-需要使用$attachment_data[\'title\']:

     <?php 
       $the_query = new WP_Query(array( \'post_type\' => \'attachment\',\'category_name\' => \'video\')); 
       while ( $the_query->have_posts() ) : $the_query->the_post();?>

     <?php $attachment_data = wp_prepare_attachment_for_js( $attachment->ID );
          echo\'<div class="title"><h2>\'.$attachment_data[\'title\'].\'</h2></div>\';?>
             <?php endwhile; wp_reset_postdata();?>
Javascript:

    $(\'.video\').Lightbox({
      type: \'iframe\'

      iframe: {
         markup: \'<div class="lightbox_container">\'+
                    \'<iframe class="iframe" frameborder="0" allowfullscreen></iframe>\'+
                    \'<div class="title"> PHP GOES HERE </div>\'+
                  \'</div>\',
callbacks: {
    markupParse: function(template, values, item) {
     values.title = item.el.attr(\'title\');
    }
    });

2 个回复
最合适的回答,由SO网友:BlueHelmet 整理而成

开发人员为此提供了一个解决方案,如下所述:https://stackoverflow.com/questions/17612258/title-for-iframe-video-in-magnific-popup

首先,我需要在我的php:

echo\'<figure><a class="video" title="\'.$attachment_data[\'title\'].\'" href="\'.get_post_meta($post->ID, \'credit_url\', true).\'">\';
然后,我需要回拨:

callbacks: {
    markupParse: function(template, values, item) {
     values.title = item.el.attr(\'title\');
    }
谢谢你的帮助!

SO网友:cjbj

首先,不要重复您的php,而是将所有内容组装成一个字符串,比如$titlestring.

接下来,让这个字符串可供javascript访问(slug是您用来注册脚本的):

$params = array (
    \'titlestring\'   =>  $titlestring,
    );
wp_localize_script (\'your-script-slug\', \'IframeTitle\', $params);
最后,访问脚本中的变量:

\'<div class="title">\' + IframeTitle.titlestring + \'</div>\' +

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果