Встраивание

Встраивать видео, изображения, твиты, аудио и другое содержимое на свой сайт WordPress очень просто.

Использование

Чтобы встроить видео или другой объект в запись или страницу, поместите его URL-адрес в область содержимого. Убедитесь, что URL-адрес находится в отдельной строке и не содержит гиперссылок (доступен для клика при просмотре сообщения).

Например:

Посмотрите это классное видео:
http://www.youtube.com/watch?v=dQw4w9WgXcQ
Это было классное видео.

WordPress автоматически превратит URL-адрес во встроенный YouTube и предоставит предварительный просмотр в визуальном редакторе.

Другой вариант — заключить URL-адрес в “embedшорткод.

// ПРИМЕЧАНИЕ. Удалите пробел между '[' и 'embed'.
[ embed width="123" height="456"]http://www.youtube.com/watch?v=dQw4w9WgXcQ[/embed]

Если WordPress не сможет встроить URL-адрес, запись будет содержать гиперссылку на URL-адрес.

oEmbed

Функция простого встраивания основана на oEmbed протоколе для сайта A (например, вашего блога), который запрашивает у сайта B (например, YouTube) HTML-код, необходимый для встраивания содержимого с сайта B.

oEmbed был разработан, чтобы избежать необходимости копировать и вставлять HTML с сайта, на котором размещен медиафайл, который вы хотите встроить. Он поддерживает видео, изображения, текст и многое другое.

Работает ли это с любым URL?

Нет, не по умолчанию. WordPress будет встраивать только URL-адреса, соответствующие внутреннему белому списку. Это сделано в целях безопасности.

Хорошо, с каких сайтов я могу встраивать?

Это работает с этими сервисами:

СервисТип встраиванияНачиная с
Amazon Kindle instant previewsВидеоWordPress 4.9
AnimotoВидеоWordPress 4.0
BlipВидеоWordPress 2.9
CloudupВидео, Галереи, ИзображенияWordPress 4.4
CollegeHumorВидеоWordPress 4.0
CrowdsignalГолосования & ОпросыWordPress 3.0
DailyMotionВидеоWordPress 2.9
Facebookпубликация, активность, фото, видео, медиа, вопросы, заметкиWordPress 4.7
FlickrВидео & ИзображенияWordPress 2.9
FunnyOrDie.comВидеоWordPress 3.0
GiphyАнимированные гифкиWordPress 4.7
HuluВидеоWordPress 2.9
ImgurИзображенияWordPress 3.9
InstagramИзображенияWordPress 3.5
IssuuДокументыWordPress 4.0
KickstarterПроектыWordPress 4.2
Meetup.comРазноеWordPress 3.9
MixcloudМузыкаWordPress 4.0
PhotobucketИзображенияWordPress 2.9
RedditПосты & КомментарииWordPress 4.4
ReverbNationМузыкаWordPress 4.4
ScribdДокументыWordPress 2.9
SlideShareСлайдшоуWordPress 3.5
SmugMugРазноеWordPress 3.0
SoundCloudМузыкаWordPress 3.5
Speaker DeckСлайдшоуWordPress 4.4
SpotifyМузыкаWordPress 3.6
TEDВидеоWordPress 4.0
TumblrРазноеWordPress 4.2
TwitterТвит, профиль, список, коллекция, лайки, моментыWordPress 3.4
VideoPressВидеоWordPress 4.4
VimeoВидеоWordPress 2.9
VineВидеоWordPress 4.1
Каталог плагинов WordPressПлагиныWordPress 4.4
WordPress.tvВидеоWordPress 2.9
YouTubeВидеоWordPress 2.9

Примечание

  • Twitter — в старых версиях WordPress есть проблемы с встраиванием https, просто удалите s из https, чтобы исправить.
  • YouTube — только общедоступные и «не включенные в список» видео и плейлисты — «частные» видео не встраиваются.
  • Tumblr — распознаются только сообщения (name.tumblr.com/post/etc), а не отдельные изображения (name.tumblr.com/image)

Как я могу добавить или изменить поддержку веб-сайтов?

Добавление поддержки для дополнительного веб-сайта зависит от того, поддерживает ли сайт oEmbed.

Добавление поддержки для сайта с поддержкой oEmbed

Если сайт поддерживает oEmbed, вам нужно вызвать wp_oembed_add_provider(), чтобы добавить сайт и формат URL во внутренний белый список.

Добавление поддержки для сайта без встроенного oEmbed

Вам нужно будет зарегистрировать обработчик с помощью wp_embed_register_handler() и предоставить функцию обратного вызова, которая генерирует HTML.

Удаление поддержки для сайта с поддержкой oEmbed

Если вы хотите удалить поставщика с поддержкой oEmbed, вам нужно вызвать wp_oembed_remove_provider.

А как насчет oEmbed Discovery?

Начиная с версии 4.4, WordPress поддерживает обнаружение oEmbed, но имеет серьезные ограничения на то, какой тип содержимого может быть встроен через сайты, не внесенные в белый список.

В частности, содержимое HTML и видео фильтруется, чтобы разрешать только ссылки, цитаты и фреймы, и они дополнительно фильтруются для предотвращения вставки вредоносного содержимого. Затем HTML-код модифицируется, чтобы он был изолирован, а также на него накладываются дополнительные ограничения безопасности.

Однако, если вы чувствуете, что достаточно уверены, чтобы не требовать этого уровня безопасности, вы можете предоставить пользователям unfiltered_html (администраторам и редакторам) возможность встраивать данные с веб-сайтов, у которых в <head> есть теги обнаружения oEmbed.

Содержимое обнаруженное oEmbed для типов «ссылка» и «фото» не так сильно фильтруется, однако оно должным образом экранируется в целях безопасности и предотвращения отображения любого вредоносного содержимого на сайте.

Внешние ресурсы