为什么这个YouTube短码不起作用? 时间:2016-09-13 作者:Jacksonkr echo do_shortcode(\'https://www.youtube.com/watch?v=vZBCTc9zHtI\'); 仅仅是打印https://www.youtube.com/watch?v=vZBCTc9zHtI" 在页面上。我知道我可以用html显示视频<iframe src="http://www.youtube.com/embed/vZBCTc9zHtI" width="560" height="315" frameborder="0" allowfullscreen></iframe> 但我试图利用wordpress的内置方法。我该怎么做? 4 个回复 最合适的回答,由SO网友:Rituparna sonowal 整理而成 我想这就是你想要的:<?php echo wp_oembed_get(\'https://www.youtube.com/watch?v=vZBCTc9zHtI\'); ?> 有关更多详细信息,请查看此documentation. SO网友:Dave Romsey 如果您只想在内容区域嵌入视频,WordPress可以通过oembeds. 您只需将URL粘贴到编辑器中并保存帖子。只要支持嵌入,WordPress就会发挥其魔力并格式化嵌入。您的呼叫do_shortcode() 没有道理。如前所述,您的代码是“查看此youtube URL字符串并运行其中的短代码”。 SO网友:gsjha do_shortcode() 用于打印短代码。您正在其中写入URL。这没有用。尝试实施wp_oembed_get( $url, $args ) 这对你有用。所以你的代码wp_oembed_get(\'https://www.youtube.com/watch?v=vZBCTc9zHtI\') 或者如果要指定宽度wp_oembed_get(\'https://www.youtube.com/watch?v=vZBCTc9zHtI\', array(\'width\'=>400)) SO网友:Mark Kaplun 它不起作用,因为在内容中使用youtube url与短代码无关,这就是为什么当您尝试调用do_shortcode, 它实际上做的是修改oEmbed协议,这是一件非常不同的事情。有一个oEmbed shorcode,您可能可以do_shortcode(\'[oEmbed youtube.com.....]\') 但正如其他答案所指出的,有一个明确的API来实现这一点,而使用短代码是实现这一点的漫长道路。要记住的最重要的一点是,oEmbed会向youtube服务器发送请求并等待回复,这意味着如果不进行缓存,这种代码会在每次加载时降低页面速度。 文章导航