如何将嵌入的视频包装在the_content内的DIV标签中?


9

我正在为带有视频教程的网站制作Wordpress主题。我想将嵌入内容(带有oEmbed)的视频放在一个单独的div中。

一个例子

完整的内容(来自的输出the_content())是这样的:

<p><iframe src="http://player.vimeo.com/video/0000000" width="900" height="506" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>This is an Test of a tutorial. Bla bla bla</p>

我想得到这个:

<div id="video">
<iframe src="http://player.vimeo.com/video/0000000" width="900" height="506" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</div>
<div id="content">
<p>This is an Test of a tutorial. Bla bla bla</p>
</div>

我试图通过正则表达式拆分它,但它变得一团糟。

Answers:


16

embed_oembed_html一个透过oEmbed资源的HTML之前滤池运行输出,所以你可以挂接到这一点,并包裹输出在div下面。我想不出一种包装其他内容的简单方法。

add_filter('embed_oembed_html', 'my_embed_oembed_html', 99, 4);
function my_embed_oembed_html($html, $url, $attr, $post_id) {
  return '<div id="video">' . $html . '</div>';
}

-3

如果您尝试在Wordpress主题模板中使用oEmbed,请尝试以下操作:

<aside>
    <p>oEmbed video in template test</p>
    <?php echo apply_filters('the_content', "http://vimeo.com/41205967"); ?>
</aside>

该片段将直接在您的主题中显示Vimeo.com的视频,而无需手动创建帖子。


视频嵌入在帖子中。那就是问题所在。
领带
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.