我在网站上使用ACF, 并尝试设置一个PHP变量, 该变量是包含ACF字段的iframe。
我无法弄清楚为什么它不起作用, 因为我可以回显该变量并显示出来, 但否则会吐出src(unknown)?
// 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++;
}?>
#1我敢肯定这是最糟糕的方法, 但是由于没有其他想法, 它目前对我有用。我正在使用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
}
【PHP变量包含带有动态src的iframe()】显然, #spot_id也需要对用户隐藏。
推荐阅读
- Linux启动过程
- PHPCS警告WordPress转义函数
- PHP错误(”A non-numeric value encountered in…”)
- 在Salient(WordPress主题)上个性化受密码保护的页面
- 通过add_filter将参数传递给函数
- 自定义帖子wp_query上的分页
- 将ACF地图数据传递到Timber主题中的twig循环
- 从wordpress插件覆盖$wp_customize
- 在WordPress中进行Ajax调用后,页面条件变为假