WordPress по умолчанию поддерживает вставку iframe, однако редактор Gutenberg может блокировать такие элементы из соображений безопасности. Чтобы вставить iframe вручную, необходимо использовать HTML-блок в редакторе записи или страницы. Это позволяет встраивать внешние ресурсы, такие как карты, видео или формы, без привлечения сторонних расширений.
Для вставки iframe откройте редактор страницы, нажмите «Добавить блок» и выберите «Пользовательский HTML». Вставьте код вида:
<iframe src="https://example.com" width="600" height="400" frameborder="0" allowfullscreen></iframe>
После этого переключитесь в режим предварительного просмотра, чтобы убедиться, что содержимое корректно отображается. Некоторые темы могут применять ограничения через фильтры безопасности, такие как wp_kses(). В этом случае потребуется изменить функции темы или использовать фильтр allowed_html через файл functions.php
.
Также важно убедиться, что источник iframe поддерживает встраивание – многие сайты ограничивают это через заголовки X-Frame-Options и Content-Security-Policy. Если контент не загружается, проверьте консоль браузера на наличие соответствующих ошибок.
Где найти HTML-редактор в блоке WordPress
Чтобы получить доступ к HTML-редактору в редакторе блоков (Gutenberg), выберите нужный блок, кликните по значку с тремя точками в панели инструментов блока и выберите пункт «Редактировать как HTML». Это переключит блок в режим исходного кода.
Для вставки кода вне конкретного блока используйте специальный блок «Пользовательский HTML». Нажмите кнопку «+» (добавить блок), введите в поиск «HTML» и выберите «Пользовательский HTML». Вставьте iframe-код в появившееся поле и сохраните.
Если требуется вставить iframe в уже существующий абзац, лучше заменить его на блок «Пользовательский HTML», так как большинство стандартных блоков, таких как «Абзац» или «Изображение», не поддерживают вставку HTML-кода напрямую.
Для редактирования всей страницы или записи на уровне исходного кода нажмите на три точки в правом верхнем углу редактора и выберите «Редактор кода». Это откроет весь контент страницы в HTML-формате, где можно вставить iframe в любое нужное место.
Как вставить iframe в блок «Код» редактора Gutenberg
Откройте редактор Gutenberg и добавьте новый блок. В списке блоков выберите «Код» (не «HTML» и не «Пользовательский HTML»). Этот блок предназначен для отображения кода без его интерпретации WordPress.
Вставьте тег <iframe>
внутрь блока. Например:
<iframe src="https://example.com" width="600" height="400" frameborder="0" allowfullscreen></iframe>
Этот код будет отображаться как текст, а не как активный iframe. Чтобы iframe работал, используйте блок «Пользовательский HTML», а не «Код».
Добавьте блок «Пользовательский HTML», вставьте в него iframe и нажмите «Просмотр». WordPress не удалит iframe, если его атрибуты безопасны (отсутствует JavaScript, запрещённые домены и т.п.).
Если iframe не отображается, проверьте: не запрещает ли источник встраивание через заголовки X-Frame-Options или Content-Security-Policy. Также убедитесь, что в настройках сайта не установлены фильтры, автоматически удаляющие iframe (например, в functions.php или фильтры безопасности).
Добавление iframe в классический редактор WordPress
Классический редактор WordPress поддерживает вставку HTML-кода напрямую, что позволяет внедрять iframe без использования плагинов. Однако важно учитывать особенности его обработки тегов.
- Перейдите в режим «Текст» (не «Визуально»), чтобы отключить автоматическое форматирование редактором.
- Вставьте код iframe вручную. Пример:
<iframe src="https://example.com" width="600" height="400" frameborder="0" allowfullscreen></iframe>
- Убедитесь, что src начинается с https – WordPress может удалить iframe с небезопасным источником.
- Не переключайтесь обратно в режим «Визуально» после вставки – редактор может удалить или изменить код.
Если после сохранения контента iframe исчезает, это может быть вызвано фильтрацией HTML редактором. Для отключения фильтра можно добавить следующий код в файл functions.php
вашей темы:
remove_filter('content_save_pre', 'wp_filter_post_kses'); remove_filter('content_filtered_save_pre', 'wp_filter_post_kses');
После этого WordPress перестанет автоматически удалять iframe из контента.
Обход ограничений WordPress на вставку iframe
По умолчанию WordPress фильтрует теги iframe в визуальном редакторе для защиты от внедрения вредоносного кода. Однако существуют методы вставки iframe без использования плагинов и без потери кода при сохранении.
1. Использование режима «Текст» (HTML-редактор): переключитесь из визуального редактора в режим «Текст» и вставьте код iframe вручную. Пример:
<iframe src="https://example.com" width="600" height="400" frameborder="0" allowfullscreen></iframe>
После вставки избегайте возврата в визуальный редактор, чтобы код не был автоматически удалён или изменён.
2. Добавление iframe через кастомный блок HTML в редакторе Gutenberg: в блоке «HTML» вставьте нужный код iframe. Это безопаснее, так как Gutenberg сохраняет структуру HTML без изменений.
3. Изменение фильтра wp_kses_post: добавьте следующий код в файл functions.php вашей темы или в custom plugin, чтобы разрешить тег iframe на глобальном уровне:
function allow_iframes_in_posts($allowedposttags) {
$allowedposttags['iframe'] = array(
'src' => true,
'height' => true,
'width' => true,
'frameborder' => true,
'allowfullscreen' => true,
'loading' => true,
'referrerpolicy' => true
);
return $allowedposttags;
}
add_filter('wp_kses_allowed_html', 'allow_iframes_in_posts', 10, 1);
Этот способ работает при включённой фильтрации HTML и позволяет сохранить контроль над безопасностью.
4. Размещение iframe в шаблонах темы: если требуется вставка iframe вне редактора, поместите его напрямую в файлы шаблона, например, в page.php или single.php:
<?php echo '<iframe src="https://example.com" width="600" height="400"></iframe>'; ?>
Этот подход исключает вмешательство редактора и позволяет использовать iframe без ограничений.
Настройка размеров и параметров iframe вручную
Для точной настройки размеров iframe используйте атрибуты width
и height>. Например:
<iframe src="https://example.com" width="800" height="600"></iframe>
Если необходимо адаптивное поведение, примените атрибут style
с процентными значениями:
<iframe src="https://example.com" style="width:100%; height:500px;"></iframe>
Для настройки отображения дополнительно используйте параметры:
Атрибут | Назначение | Пример |
---|---|---|
frameborder |
Удаляет рамку вокруг iframe | frameborder="0" |
allowfullscreen |
Разрешает полноэкранный режим | allowfullscreen |
loading |
Откладывает загрузку (улучшает скорость) | loading="lazy" |
referrerpolicy |
Контроль передачи referrer-заголовка | referrerpolicy="no-referrer" |
Если iframe встроен из другого источника, проверьте, поддерживает ли он нужные параметры. Некоторые сайты могут ограничивать поведение через заголовки X-Frame-Options, игнорируя ваши настройки.
Как вставить iframe с YouTube или другого видеохостинга
Для вставки видео с YouTube или другого видеохостинга в WordPress без плагинов воспользуйтесь стандартным HTML-тегом iframe
. В админке откройте редактор записи или страницы в режиме «Текст» или «HTML». Вставьте скопированный код iframe, который можно получить напрямую на сайте видеохостинга, например, на YouTube через кнопку «Поделиться» → «Встроить».
Обратите внимание на параметры в коде iframe. Для YouTube рекомендуются следующие настройки: width="560"
, height="315"
, frameborder="0"
, allowfullscreen
. Важно сохранить атрибуты allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
для корректной работы плеера.
Если необходимо адаптировать видео под мобильные устройства, используйте обертку с CSS (через тему или кастомные стили) для сохранения пропорций, например, с помощью position: relative;
и padding-bottom: 56.25%
. В самом iframe задайте width="100%"
и height="100%"
, а контейнеру – фиксированную высоту, рассчитываемую из соотношения сторон видео.
Для других видеохостингов алгоритм аналогичен: берите официальный код для встраивания, проверяйте атрибуты безопасности и разрешения, вставляйте в текстовый режим редактора WordPress. Это гарантирует корректное отображение без дополнительных плагинов и не замедляет сайт.
Безопасность и допустимые источники для iframe в WordPress
Использование iframe в WordPress требует строгого контроля источников для предотвращения XSS-атак и утечек данных. Разрешайте вставку iframe только с проверенных доменов, которые вы полностью контролируете или которым доверяете.
- Используйте только HTTPS: URL iframe должен начинаться с https:// для защиты данных и избежания предупреждений браузера.
- Проверяйте источники: допускайте iframe только с официальных сервисов (YouTube, Vimeo, Google Maps) или собственных серверов.
- Ограничивайте права iframe: добавляйте атрибуты
sandbox
с необходимыми параметрами (например,allow-scripts
илиallow-same-origin
) для ограничения доступа iframe к вашей странице. - Контролируйте параметры в URL: избегайте передачи конфиденциальных данных через GET-параметры в iframe, чтобы исключить их перехват.
WordPress по умолчанию фильтрует вставку iframe в визуальном редакторе для пользователей с недостаточными правами. Для более гибкого контроля используйте функцию wp_kses_allowed_html
в файле темы, добавляя разрешённые теги и атрибуты с проверкой источников.
- В functions.php реализуйте whitelist доменов для iframe.
- Ограничивайте права iframe через атрибут sandbox.
Игнорирование этих правил увеличивает риск внедрения вредоносного кода, фишинговых атак и ухудшения производительности сайта.
Вопрос-ответ:
Как добавить iframe в статью WordPress без установки дополнительных расширений?
Чтобы вставить iframe в WordPress без плагинов, можно использовать блок "HTML" в редакторе Gutenberg. Откройте нужную запись или страницу, добавьте новый блок и выберите "HTML". Затем вставьте код iframe прямо туда. После сохранения и публикации страница будет отображать содержимое iframe.
Можно ли вставлять iframe в классический редактор WordPress и как это сделать правильно?
Да, в классическом редакторе вставка iframe также возможна. Для этого переключитесь в режим "Текст" (HTML) вместо "Визуального" и вставьте код iframe в нужное место. После переключения обратно в визуальный режим убедитесь, что код сохранился корректно, и опубликуйте запись.
Почему иногда iframe не отображается на сайте после вставки кода без плагина?
Причины могут быть разные. Например, тема или настройки безопасности WordPress могут блокировать отображение iframe. Также внешние сайты могут запрещать загрузку своего контента через iframe на других ресурсах. В таком случае можно проверить настройки безопасности или попробовать использовать другой источник iframe.
Как ограничить размер iframe, вставленного в WordPress, чтобы он корректно вписывался в дизайн сайта?
Для управления размером iframe можно добавить атрибуты width и height непосредственно в HTML-код iframe. Например, <iframe src="url" width="600" height="400"></iframe>
. Также можно использовать CSS-стили, чтобы сделать его адаптивным, задав ширину в процентах и высоту в зависимости от контента.
Нужно ли учитывать какие-то особенности безопасности при вставке iframe в WordPress вручную?
Да, важно помнить, что iframe может содержать внешний код, который потенциально небезопасен. Рекомендуется вставлять iframe только с доверенных сайтов и избегать ссылок на неизвестные ресурсы. Кроме того, стоит проверять, не блокирует ли ваша хостинг-платформа подобные вставки или нет ли ограничений в файле .htaccess.
Как вставить iframe в WordPress без использования дополнительных плагинов?
Для добавления iframe в WordPress без плагинов можно воспользоваться встроенными возможностями редактора. В классическом редакторе переключитесь на вкладку «Текст» и вставьте код iframe напрямую в нужное место статьи или страницы. В блоковом редакторе Gutenberg используйте блок «HTML» и вставьте туда iframe-код. После сохранения изменения iframe будет отображаться корректно на сайте. Главное — убедиться, что код iframe корректен и источник разрешает встраивание.