基于POST所选内容打印OEmbedded URL,不带页面刷新

时间:2018-05-30 作者:The WP Intermediate

硬编码的HTML如下所示→

    <iframe width="560" height="315" src="https://www.youtube.com/embed/G4Q0oX8wquU" allow="autoplay; 
encrypted-media" allowfullscreen></iframe>   
但在WordPress的情况下,它应该来自元,即保存在Oembed中的URL。

看看这张照片single.php 后端→

enter image description here

我试过这种方法:

<?php 
   $url = esc_url( get_post_meta( get_the_ID(), \'video_oembed\', 1 ) ); 
   echo wp_oembed_get( $url );
?>
更确切地说是这样→

<iframe width="560" height="315" src="<?php 
       $url = esc_url( get_post_meta( get_the_ID(), \'video_oembed\', 1 ) ); 
       echo wp_oembed_get( $url );
    ?>" allow="autoplay; encrypted-media" allowfullscreen></iframe>
但实际上什么都不起作用。请帮助我理解逻辑差距。

额外信息→目前,正在运行一个循环来获取Oembed中包含视频URL的帖子。

循环运行方式如下this.

live页面为here.

目前,视频是硬编码的,但想法是只要点击硬编码HTML视频框架下方的帖子缩略图图像。oEmbed视频URL应该随Iframe一起提供。默认情况下,Oemebed视频I帧应来自最新的后期回迁。

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

wp_oembed_get() 返回整个iframe,这就是它的用途。因此,您应该单独使用它,而不是在iframe的src中使用它。

$url = esc_url( get_post_meta( get_the_ID(), \'video_oembed\', 1 ) ); 
echo wp_oembed_get( $url );

结束