为了使视频嵌入到响应模式中,我需要在iframe之前添加一个div,如:
<div class="videoWrapper">
<iframe width="600" height="338" src="https://www.youtube.com/embed/f5CcOq8UzkI?feature=oembed" frameborder="0" allowfullscreen=""></iframe>
</div>
但当添加时
[embed width="" height=""]https://www.youtube.com/watch?v=/f5CcOq8UzkI[/embed]
结果是:
<p><iframe src="https://www.youtube.com/embed/XXXX?feature=oembed" allowfullscreen="" height="113" frameborder="0" width="200"></iframe></p>
现在我尝试了:
function Oembed_youtube_no_title($html,$url,$args){
$url_string = parse_url($url, PHP_URL_QUERY);
parse_str($url_string, $id);
if (isset($id[\'v\'])) {
return \'<div class="embed-container"><iframe width="\'.$args[\'width\'].\'" height="\'.$args[\'height\'].\'" src="http://www.youtube.com/embed/\'.$id[\'v\'].\'?rel=0&showinfo=0" frameborder="0" allowfullscreen></iframe></div>\';
}
return $html;
}
add_filter(\'oembed_result\',\'Oembed_youtube_no_title\',10,3);
但结果总是iframe,如何更改嵌入标记并添加div元素?为什么WordPress不支持响应视频?
最合适的回答,由SO网友:GKS 整理而成
您可以使用“embed\\u oembed\\u html”将该iframe包装到div中。
add_filter(\'embed_oembed_html\', \'Oembed_youtube_no_title\', 99, 4);
function Oembed_youtube_no_title($html, $url, $attr, $post_id) {
return \'<div class="embed-container">\' . $html . \'</div>\';
}
没有测试请让我知道它是否适合你。