Гид по технологиям

Адаптивные видео в WordPress с FitVids

• 5 min read • WordPress • Обновлено 14 Nov 2025
Адаптивные YouTube‑видео в WordPress с FitVids
Адаптивные YouTube‑видео в 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

FitVids использует jQuery, чтобы обернуть каждое iframe/embed в блок с соотношением сторон. Затем он устанавливает iframe на 100% ширины и 100% высоты внутри этого блока. Это позволяет видео автоматически масштабироваться вместе с контейнером.

Преимущества:

  • простая интеграция;
  • работает с большинством видео-хостингов (YouTube, Vimeo и т. п.);
  • не требует изменения содержимого постов.

Быстрая инструкция — установка через плагин

  1. Установите и активируйте плагин FitVids for WordPress.
  2. Перейдите в Внешний вид -> FitVids.
  3. Если в теме уже подключён jQuery версии 1.6 и выше, оставьте поле Add jQuery пустым. В противном случае отметьте чекбокс Add jQuery.

Настройки FitVids: опция добавления jQuery

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

Важно: # перед именем указывает на id, . — на класс в CSS.

  1. Откройте пост с встраиваемым видео и убедитесь, что видео занимает полную ширину контентного блока и масштабируется при изменении размера окна.

После применения:

Видео занимает всю ширину контента после применения FitVids

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

Мини‑методология: внедрение FitVids в тему (для разработчиков)

  1. Подключите jQuery (если тема не содержит его).
  2. Подключите скрипт FitVids.js в footer или в assets с зависимостью от jQuery.
  3. Запустите инициализацию в document.ready, например:
jQuery(document).ready(function($){
  $(".entry-content").fitVids();
});
  1. Проверьте страницы с разными видео и разными размерами окна.
  2. Добавьте 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 и сделайте резервные копии.

Важно: если у вас сложный конструктор страниц или сторонние плагины для видео, подготовьте тестовый план и отладочные шаги до релиза.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро