我在我的网站上使用ACF,并尝试设置一个PHP变量,该变量是包含ACF字段的iframe。
我无法弄清楚为什么它不起作用,因为我可以回显该变量并显示出来,但否则会吐出src(未知)?
// Get spotify and set up tab
if (have_rows('roster_media')):
// loop through the rows of data
while (have_rows('roster_media')): the_row();
$spotify_uri = get_sub_field('rm_sp_link');
echo $spotify_uri;
$url = $spotify_uri;
echo $url;
endwhile;
else:
// no rows found
endif;
$rm_sp = '<iframe src="'.$url.'" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>';
然后,我在页面的后面通过以下方式致电
:<?php
$count = 0;
foreach ($embed_links as $e) {
if ($count==0) {
$rm_act = " active show";
} else {
$rm_act = "";
}
$content;
if ($e['embed_platform']['value'] === "rm_sp") {
$content ='<div class="rm-video">'.$rm_sp.'</div>';
} else if ($e['embed_platform']['value']==="rm_vid") {
$content = '<div class="rm-video">'.$rm_vid.'</div>';
}
echo '<div class="tab-pane'.$rm_act.'" id="'.$e['embed_platform']['value'].'" role="tabpanel">'.$content.'</div>';
$count++;
}
?>
答案 0 :(得分:0)
我敢肯定这是最糟糕的方式,但是由于没有其他想法,它目前正在为我工作。我正在使用jQuery实现这一目标。
在while循环中,我添加了:
$spotify_uri = get_sub_field('rm_sp_link');
echo '<div id="spot_id">'.$spotify_uri.'</div>';
然后我的jQuery如下所示:
if ($("#spot_id")[0]){
// Do something if class exists
spotifyUri = $("#spot_id").text();
console.log(spotifyUri);
$("#spot_iframe").attr('src' , $("#spot_iframe").attr('src') + spotifyUri);
} else {
// Do something if class does not exist
}
显然,#spot_id也需要对用户隐藏。