2016-11-14 61 views
2

我试图输出PHP显示简码标签外简码的内容

[embedyt]http://www.youtube.com/embed?layout=gallery&listType=playlist&list=*some-playlist*[/embedyt] 

采用先进的自定义字段和WordPress的YouTube的插件的组合。

我的代码是:

 <?php 
echo do_shortcode('[[embedyt]' . the_field('youtube-playlist') . '[/embedyt]]'); 
     ?> 

其中发现的[emedyt]标签是由嵌入YouTube和the_field( 'YouTube上播放列表')是由高级自定义字段。

不幸的是什么得到输出

http://www.youtube.com/embed?layout=gallery&listType=playlist&list=*some-test-playlist*[embedyt][/embedyt] 

我不明白的地方,我和我的PHP去错了,我有不同的变化,如使用变量和不同类型的串联,但显然我失去了一些东西。

任何和所有的帮助将不胜感激,谢谢!

+0

Embed Embed实际上是否可以包含播放列表?它可能就像那样无聊,抛出一个你看不见的错误。您是否尝试过使用YouTube视频的单个链接?那它有用吗? – junkfoodjunkie

回答

1

您正在调用the_field函数,它实际上打印了自定义字段的值,但实际上您需要将该值传递给do_shortcode函数而不是显示它。

您必须改用get_field函数。尝试将代码更新为以下内容

<?php echo do_shortcode('[[embedyt]' . get_field('youtube-playlist') . '[/embedyt]]'); ?> 
+1

你说得对。我想补充一点的是,我意识到,我并不需要周围的简码额外的支架,所以我的代码最终看上去是这样的: \t \t \t gv0000