Адаптивные видео в WordPress с FitVids
TL;DR
FitVids превращает встроенные видео (YouTube, Vimeo и т. п.) в адаптивные объекты, которые масштабируются вместе с шириной контента. Установите плагин или добавьте скрипт в тему, настройте селектор контейнера и проверьте отображение. Если плагин не подходит, можно использовать CSS-обёртки с сохранением соотношения сторон.
WordPress с версии 3.0 автоматически преобразует вставленные URL видео в iframe с фиксированными width/height. Для большинства тем это удобно, но у адаптивных (responsive) тем такие iframe часто ломают layout: видео либо слишком маленькое, либо выходит за пределы контентной колонки при изменении ширины окна браузера.
Чтобы решить проблему, используют скрипт FitVids, который оборачивает iframe в контейнер с пропорциональной высотой и задаёт iframe ширину 100%, тем самым делая видео адаптивным.
Проблема — почему встроенные видео ломают тему
При вставке ссылки на YouTube WordPress создаёт HTML-встраивание с фиксированными атрибутами width и height. На статичных страницах это работает, но при гибкой вёрстке видео не масштабируется под ширину контейнера. В результате:
- видео занимает не всю ширину контентного блока, или
- выходит за рамки контейнера и ломает дизайн при сжатии окна.
Пример до применения FitVids:

Видео не масштабируется при изменении ширины окна и выходит за пределы контейнера:

Как решает задачу FitVids
FitVids использует jQuery, чтобы обернуть каждое iframe/embed в блок с соотношением сторон. Затем он устанавливает iframe на 100% ширины и 100% высоты внутри этого блока. Это позволяет видео автоматически масштабироваться вместе с контейнером.
Преимущества:
- простая интеграция;
- работает с большинством видео-хостингов (YouTube, Vimeo и т. п.);
- не требует изменения содержимого постов.
Быстрая инструкция — установка через плагин
- Установите и активируйте плагин FitVids for WordPress.
- Перейдите в Внешний вид -> FitVids.
- Если в теме уже подключён jQuery версии 1.6 и выше, оставьте поле Add jQuery пустым. В противном случае отметьте чекбокс Add jQuery.

- В поле jQuery selector укажите селектор контейнера, где находятся видео. По умолчанию часто достаточно ввести body. Для целевой области используйте id/class:
#video-container,#content,.entry-content.
Важно: # перед именем указывает на id, . — на класс в CSS.
- Откройте пост с встраиваемым видео и убедитесь, что видео занимает полную ширину контентного блока и масштабируется при изменении размера окна.
После применения:


Мини‑методология: внедрение FitVids в тему (для разработчиков)
- Подключите jQuery (если тема не содержит его).
- Подключите скрипт FitVids.js в footer или в assets с зависимостью от jQuery.
- Запустите инициализацию в document.ready, например:
jQuery(document).ready(function($){
$(".entry-content").fitVids();
});- Проверьте страницы с разными видео и разными размерами окна.
- Добавьте unit-тесты или визуальную проверку в QA-процессы.
CSS‑резервный вариант (без FitVids)
Если вы предпочитаете не использовать JavaScript, можно использовать CSS‑обёртку с сохранением аспект‑ратацио (intrinsic ratio):
.video-container {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
height: 0;
overflow: hidden;
}
.video-container iframe,
.video-container embed,
.video-container object {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}HTML-обёртка в посте:
Этот способ прост и не требует сторонних скриптов, но потребует ручного добавления обёртки в уже опубликованные посты или шаблоны.
Альтернативные подходы
- Использовать плагин Jetpack (модуль для медиа) — даёт адаптивные видео в составе набора функций.
- Ручная правка шаблонов: менять шаблон single.php / content.php, где генерируются видео, и добавлять обёртки на уровне темы.
- CSS property aspect-ratio (современные браузеры): позволяет задать соотношение прямо для iframe, но поддержка устаревших браузеров может быть ограничена.
Когда это не сработает
- Сайты без jQuery, где отказ от JS — если не внедрить CSS‑вариант, FitVids не сможет работать.
- Плееры со встроенными inline-стилями, которые принудительно задают width/height через !important — потребуется дополнительная правка стилей.
- Если видео вставлено через сторонний конструктор страниц (page builder), который использует собственные обёртки или lazy-loading, может потребоваться целевая настройка селектора.
Критерии приёмки
- Все встроенные видео в указанном селекторе корректно занимают 100% ширины контентного блока.
- При изменении ширины окна видео сохраняет пропорции и не выходит за пределы контейнера.
- Производительность страницы не ухудшилась заметно (проверить загрузку и TTFB).
- Фолбек для браузеров без JS: либо корректное отображение через CSS, либо graceful degradation.
Чеклист по ролям
- Разработчик:
- Подключил/обновил FitVids.js и jQuery.
- Добавил инициализацию с корректным селектором.
- Покрыл изменения unit/visual тестами.
- Редактор/контент-менеджер:
- Проверил несколько постов с разными видео.
- Скорректировал старые посты при необходимости (добавил обёртку).
- Сайт‑админ:
- Сделал бэкап перед изменениями.
- Проверил плагин на staging перед production.
Частые проблемы и решения
- Видео всё ещё фиксированного размера: проверьте, не задаёт ли тема inline-атрибуты width/height с !important.
- Видео не видно в AMP-версиях: AMP требует отдельной разметки — используйте amp-iframe или специализированные компоненты.
- Конфликты с плагинами lazy-load: настройте порядок инициализации — FitVids должен применяться после рендера iframe.
Краткая памятка (cheat sheet)
- Селектор по умолчанию — body; для таргетинга используйте
#idили.class. - Если подключаете вручную, инициализируйте в $(document).ready.
- Для CSS‑фолбека используйте padding-bottom с величиной, соответствующей соотношению сторон.
Заключение
FitVids — быстрый и надёжный способ сделать встроенные видео адаптивными без глубокой переработки темы. Для большинства сайтов достаточно плагина и корректного селектора. Если требуется отказ от JS, используйте CSS‑обёртки с сохранением соотношения сторон. Перед внесением изменений протестируйте сайт на staging и сделайте резервные копии.
Важно: если у вас сложный конструктор страниц или сторонние плагины для видео, подготовьте тестовый план и отладочные шаги до релиза.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента