WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Difference between revisions of "Вставка объектов"

m (Список изменений)
(3.4)
Line 56: Line 56:
 
* [http://www.smugmug.com/ SmugMug] (WordPress 3.0+)
 
* [http://www.smugmug.com/ SmugMug] (WordPress 3.0+)
 
* [http://www.funnyordie.com/ FunnyOrDie.com] (WordPress 3.0+)
 
* [http://www.funnyordie.com/ FunnyOrDie.com] (WordPress 3.0+)
  +
* [http://twitter.com Twitter] (WordPress 3.4+)
   
 
== Как добавить поддержку других сайтов? ==
 
== Как добавить поддержку других сайтов? ==
Line 83: Line 84:
 
== Список изменений ==
 
== Список изменений ==
   
* [[Version 3.0|3.0]] : Добавлена поддержка сайтов SmugMug и FunnyOrDie.com.
+
  +
* [[Version 3.4|3.4]]
  +
** Добавлен сайт Twitter.
  +
  +
* [[Version 3.0|3.0]]
  +
** Добавлен сайт SmugMug.
  +
** Добавлен сайт FunnyOrDie.com.
  +
  +
* [[Version 2.9|2.9]]
  +
** Реализована поддержка вставки объектов.
   
 
[[Category:Advanced Topics]]
 
[[Category:Advanced Topics]]

Revision as of 11:06, 12 June 2012

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

В двух словах

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

Например:

Посмотрите это классное видео:

http://www.youtube.com/watch?v=nTDNLUzjkpg

Это было классное видео.

При просмотре записи WordPress автоматически покажет видео с YouTube. (Галочка «Автоматическое внедрение» на странице «Панель управления» > «Параметры» > «Медиафайлы» должна быть поставлена.)

Кроме того, можно заключить адрес в шорткод [embed]. Эффект будет тот же самый, однако в этом случае не имеет значения, находится ли адрес на отдельной строке и включено ли автоматическое внедрение. Можно также задать максимальную (но не фиксированную) ширину и высоту, например: [embed width="123" height="456"]...[/embed]

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

oEmbed

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

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

Можно использовать любой адрес?

По умолчанию нет. WordPress внедряет только объекты с сайтов из белого списка. Это сделано в целях безопасности.

Ладно, так с каких сайтов можно вставлять объекты?

С любого из этих:

Как добавить поддержку других сайтов?

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

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

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

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

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

Как насчёт автообнаружения oEmbed?

В реализации oEmbed в WordPress автообнаружение отключено. По умолчанию внедрять объекты можно только с сайтов из белого списка. Это сделано, чтобы предотвратить случайное внедрение объектов с вредоносных сайтов.

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

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

Список изменений

  • 3.4
    • Добавлен сайт Twitter.
  • 3.0
    • Добавлен сайт SmugMug.
    • Добавлен сайт FunnyOrDie.com.
  • 2.9
    • Реализована поддержка вставки объектов.
Эта статья помечена как нуждающаяся в редактировании. Вы можете помочь проекту, отредактировав её.