如何仅针对所有youtube嵌入对宽度和高度进行调整,因为有一些iframe使用且主要是youtubes
<iframe width="420" height="315" frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/xbGv2T456dfg3">
此代码嵌入在我的wordpress帖子中,我想仅调整youtube iframe而不是所有iframe的宽度和高度,我可以手动调整,但是当涉及到许多视频时,它将会很长时间。
例如,*所有youtube iframe将为560x316 *和所有其他iframe将是其默认尺寸。
可以在php中完成吗?对不起我是新的
答案 0 :(得分:2)
你可以在你的主题函数PHP中创建一个新的filter on the_content,它调用一个函数来搜索和替换像这样的Youtube iframe:
function my_youtube_resizer($content) {
$dom=new DOMDocument();
$dom->loadHTML($content);
$iframess = $dom->getElementsByTagName("iframe");
foreach ($iframes as $iframe) {
$src = $iframe->getAttribute('src');
if (strpos('youtube.com', $src)) { //You may have to also deal with the short URL youtu.be
$iframe->setAttribute('width', '560');
$iframe->setAttribute('height', '316');
}
}
$content = $dom->saveHTML();
return $content;
}
如果您使用其他插件来创建这些iframe链接(例如Jetpack),请确保您的过滤器优先级较低。
答案 1 :(得分:1)
您可以尝试css attribute selectors在src属性中选择youtube.com
的iframe:
iframe[src*="youtube.com"],
iframe[src*="youtu.be"] {
width: 560px !important;
height: 316px !important;
}
答案 2 :(得分:0)
感谢大家的帮助
我只是给了jquery一个镜头而且它有用了
$(document).ready(function(){
$('iframe[src*="youtube.com"]').css({"width":"560px","height":"316px"});
});