WordPress 2.9 的 Easy Embeds 功能
有没有想过,只需要在日志中输入一个视频网站或者图片分享的 URL,这个 URL 里面含有的视频或者图片就自动显示出来?这样是不是很 Cool,这个就是 WordPress 2.9 的 Easy Embeds 的功能,它就是让你直接发布一个 URL(需要单独一行,纯文本,不带链接才行),就能把这个 URL 中的视频显示到博客上,并且会根据博客的布局调整视频的大小。
比如,在日志中直接输入这个 flickr 地址:
http://www.flickr.com/photos/30788945@N08/4021186721/
WordPress 就会自动把这个 URL 转化成 Flickr 该页的照片:

当然这个需要你的 WordPress 的 “Auto-embeds” 打开。

启用 WordPress 的 Easy Embeds 功能
如果你的博客没有启用这项功能,那么还可以使用 [embed] 这个 shortcode 来显示图片,使用 [embed] shortcode 就不再需要把链接放到独立的一行了。
[embed]http://www.flickr.com/photos/30788945@N08/4021186721/[embed]
oEmbed
这个 Easy Embeds 功能主要是由 oEmbed 驱动的,oEmbed 是一种站点 A (比如你的博客)向站点 B (比如 YouTube)去请求嵌入内容(比如视频)的 HTML 代码的协议。
oEmbed 设计出来是为了嵌入媒体网站的内容的时候避免复制和粘贴 HTML 代码,它支持视频,图片,文本等等更多。
非常失望的是,国内基本没有一家 Web 2.0 应用支持这一协议。
现在 WordPress 支持的网站
并不是所有的网站都支持的,现在 WordPress 支持以下网站:
- YouTube
- Vimeo
- DailyMotion
- blip.tv
- Flickr (both videos and images)
- Viddler
- Hulu
- Qik
- Revision3
- Scribd
- Photobucket
- PollDaddy
- Google Video
- WordPress.tv (only VideoPress-type videos for the time being)
所以这些网站的视频和图片,你只需贴入 URL,WordPress 就会帮你自动转换成可以查看的图片或者网址。
oEmbed Discovery
什么是 oEmbed discovery?媒体服务提供商在 head 添加一部分代码告诉程序他们的 oEmbed provider 在哪里,这样就可以自动添加嵌入的内容而无需事先处理。但是 WordPress 默认是关闭直接嵌入支持 oEmbed discovery 网站的内容,这样做也是为了防止一些网站可能存在恶意代码的风险,但是如果你能保证你引用网站,那么你可以通过以下代码开启 WordPress 的 oEmbed discovery,这样只要贴入支持 oEmbed Discvery 网站的 URL 就会自动嵌入内容。
如何支持更多的网站
添加支持 oEmbed 协议的网站
只需要去调用 wp_oembed_add_provider() 函数就可以了,格式如下:
wp_oembed_add_provider( 'http://site.com/watchvideo/*', 'http://site.com/oembedprovider' );
添加不支持 oEmbed 协议的网站
添加不支持 oEmbed 协议的网站可能就比较麻烦点,需要使用 wp_embed_register_handler() 函数去注册一个 callback 函数去产生 HTML。
目前我已经实现了优酷和土豆,我将在以后介绍。又拍的网站链接很奇怪,需要使用他们的 API 才能获取图片的 URL,并且 API 还需要 API Key,无比繁琐,就没有心情去整理了。


真是好东西!试用一下!介意我把文章转了不?
支持 反对
不行!
支持 反对
大多数都要翻墙啊……
支持 反对
相当方便的功能,可惜我们在墙内!
支持 反对
差不多都是墙外网站
支持 反对
是啊,都是些基本没上过的网站。
支持 反对
国内的站点死守web1.0到终老了
支持 反对
支持 反对
Auto-embeds
这个在博客设置的哪里能打开么?
支持 反对
哦,我明白了,就是自动嵌入啊。
支持 反对