Я уже приводил способ автоматической подстройки видео YouTube под ширину блога. Способ удобный для тех, кто хочет создать отзывчивый к изменениям ширины блог, который можно просматривать как на мобильнике или планшете, так и на большом мониторе компьютера, не боясь искажений – плеер будет автоматически реагировать на изменение размеров окна браузера, пропорционально уменьшая или увеличиваясь. Однако не только YouTube пользуется популярностью – большим почетом пользуется сервис Vimeo.
Чтобы научить видеоролики, вставляемые из Vimeoб подстраиваться под ширину блога, реагируя на изменения ширины и высоты окна браузера пропорциональным увеличением/уменьшением окна плеера, можно использовать следующую функцию, вставив ее в файл functions.php используемой вами темы.
function fixEmbed($oembvideo, $url, $attr) {
if(strpos($url,'vimeo.com')!== false) {
$width = 0;
$height = 0;
$newheight = 0;
$attrstart = strpos($oembvideo,'width="');
if($attrstart !== false) {
$attrstart += 7;
$width = substr($oembvideo, $attrstart, strpos($oembvideo,'"',$attrstart+1)-$attrstart);
$attrstart = strpos($oembvideo,'height="');
if(($attrstart !== false) && $width>0) {
$attrstart += 8;
$height = substr($oembvideo, $attrstart, strpos($oembvideo,'"',$attrstart+1)-$attrstart);
$newheight = round($height*$attr['width']/$width);
$oembvideo = str_replace('height="'.$height,'height="'.$newheight, str_replace('width="'.$width,'width="'.$attr['width'], $oembvideo));
}
}
}
return $oembvideo;
}
add_filter('embed_oembed_html', 'fixEmbed', 10, 3); Больше никаких действий не требуется. Даже если у вас в настройках (Параметры – Медиафайлы – Автоматическое внедрение) будет указан размер, при уменьшении окна браузера, в котором просматривается страница с видеороликом из Vimeo, он тоже будет уменьшаться, не нарушая пропорции между шириной и высотой.








