随拍红叶

谈一谈WordPress的embed功能

Posted onCategories技术文章

在做项目中发现直接在文章里贴个 youtube, twitter 的链接,Wordpress 自动给你转化成了一个该页面的视图。当初作为萌新第一次看到这个功能的时候感觉很惊艳,这么屌的功能不了解它背后原理真是如坐针毡。 稍微 Google 了一下,原来有个概念叫做 Embes。显而易见,基本有点 html 知识的用脚都能想出来这是一种嵌入外部页面代码的手段。

首先从 WordPress 官网找到这样一个页面 https://codex.wordpress.org/Embeds 第一段是这么说的,从 WordPress 2.9 起,你要在你的 WordPress 站里内嵌视频音频图片推特文是很容易的。你贴进去一个链接,Wordpress 自动帮它转化成一个embed html代码并且在编辑器里预览链接里的内容。

当然这不是任意你扔一个链接进 WordPress,它就能给你转化成一个视图的。目标网站必须实现 oEmbed 协议才有这种可能。那么什么是 oEmbed 呢?

The easy embedding feature is mostly powered by oEmbed, a protocol for site A (such as your blog) to ask site B (such as YouTube) for the HTML needed to embed content from site B.
oEmbed was designed to avoid the need to copy and paste HTML from the site hosting the media you wish to embed. It supports videos, images, text, and more.

上面这段摘要意思:Wordpress 的嵌入功能是由 oEmbed 提供的。oEmbed是一种通讯协议,它允许A站请求B站(实现了该协议比如Youtube)的资源,然后将其嵌入到A站里。oEmbed被设计用来避免你去动手拷贝目标站点的代码。它目前支持很多类型的资源比如图片,视频,文字等等。传送门: http://oembed.com/

插一句,这个确实对不懂技术的小白非常友好,鬼知道从第三方网站拷来的代码会被不懂 html 的小编贴成什么鸟样。已经记不清做项目多少次因为小编的失误到最后程序员背锅了。有了该协议编辑在分享其他站的资源只需要贴个链接,真的是很方便。

然鹅咳咳,然并卵。因为任何貌似高大上的东西都有可能暗藏不可描述的东西,所以大部分实现了该协议的站点我们肯定主观上是不屑去访问的。那么问题来了:

  • WordPress 支持哪些实现了 oEmbed 的站点?
  • 其中的哪些又能被中文用户使用呢?

截止本文研究的时间,https://codex.wordpress.org/Embeds 文档上说支持下面的网站。经过我逐一进行了测试结果如下

第三方服务Embed 类型版本可用?
AnimotoVideosWordPress 4.0 收费,未测
BlipVideosWordPress 2.9 不可用
CloudupVideos, Galleries, ImagesWordPress 4.4 未测,网站注册出错居然
CollegeHumorVideosWordPress 4.0 不可用,js错误
DailyMotionVideosWordPress 2.9 不可用
Facebookpost, activity, photo, video, media, question, noteWordPress 4.7 不可用
FlickrVideos & ImagesWordPress 2.9 不可用
FunnyOrDie.comVideosWordPress 3.0 可用
HuluVideosWordPress 2.9 未测,收费
ImgurImagesWordPress 3.9 可用
InstagramImagesWordPress 3.5 不可用
IssuuDocumentsWordPress 4.0 不可用
KickstarterProjectsWordPress 4.2直接链接不可用,iframe 可用
Meetup.comVariousWordPress 3.9 可用
MixcloudMusicWordPress 4.0 可用
PhotobucketImagesWordPress 2.9 不可用
PollDaddyPolls & SurveysWordPress 3.0 可用
RedditPosts & CommentsWordPress 4.4 可用
ReverbNationMusicWordPress 4.4 不可用
ScribdDocumentsWordPress 2.9 不可用
SlideSharePresentation slideshowsWordPress 3.5 不可用
SmugMugVariousWordPress 3.0 未测,收费
SoundCloudMusicWordPress 3.5 不可用
Speaker DeckPresentation slideshowsWordPress 4.4 不可用
SpotifyMusicWordPress 3.6 未测,收费
TEDVideosWordPress 4.0 可用
TumblrVariousWordPress 4.2 不可用
TwitterTweet, profile, list, collection, likes, MomentWordPress 3.4 不可用
VideoPressVideosWordPress 4.4 不可用
VimeoVideosWordPress 2.9 不可用
VineVideosWordPress 4.1 不可用
WordPress plugin directoryPluginsWordPress 4.4 可用
WordPress.tvVideosWordPress 2.9 不可用
YouTubeVideosWordPress 2.9 不可用

查看下列支持 oEmbed 协议的服务在本站的演示

  1. WordPress plugin directory 演示页面
  2. Polldaddy 演示页面
  3. funnyordie 演示页面
  4. imgur 演示页面
  5. Kickstart 演示页面
  6. meetup 演示页面
  7. mixcloud 演示页面
  8. reddit 演示页面
  9. ted 演示页面

2 thoughts on “谈一谈WordPress的embed功能”

    1. 你是问国内有哪些站实现了 oembed 协议?这个我还不清楚。

发表评论

电子邮件地址不会被公开。 必填项已用*标注