Codex

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

zh-cn:嵌入

WordPress 2.9 开始,向您的 WordPress 站点嵌入视频、图像等多媒体内容变得十分简单。

简介

要嵌入内容,您要做的就是将内容的 URL 直接粘贴至您的文章或页面编辑框中。请确保 URL 独立成行。请不要设置超级链接。

文章内容举例:

我发现这个视频很酷:

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

快去看看吧。
WordPress 将自动把链接转换成 YouTube 指定的嵌入代码。
本文已被标记为未完成状态。您可以将其补充或翻译完整,以此帮助完善 Codex。
(Check the "Auto-embeds" check box in Administration > Settings > Media SubPanel.)

You can also opt to wrap the URL in the [embed] shortcode. It will accomplish the same effect, but does not require the URL to be on its own line and the "Auto-embeds" setting to be enabled. It also allows you to set a maximum (but not fixed) width and height, like so: [embed width="123" height="456"]...[/embed]

如果WordPress把您嵌入的视频没有成功解析,则会返回一个带超链接的URL地址。

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 (such as a video) from site B.

oEmbed was designed to avoid having to copy and paste HTML from the site hosting the media you wish to embed. It supports videos, images, text, and more.

Can I Use Any URL With This?

Not by default, no. WordPress will only embed URLs matching an internal whitelist. This is for security purposes.

Okay, So What Sites Can I Embed From?

You can use all of these:

How Can I Add Support For More Websites?

Adding support for an additional website depends on whether the site supports oEmbed or not.

Adding Support For An oEmbed-Enabled Site

If a site supports oEmbed, you'll want to call wp_oembed_add_provider() to add the site and URL format to the internal whitelist.

Adding Support For A Non-oEmbed Site

You'll need to register a handler using wp_embed_register_handler() and provide a callback function that generates the HTML.

What About oEmbed Discovery?

The oEmbed implementation in WordPress has discovery disabled. By default, you can only embed from websites that are listed on the internal whitelist. This is to prevent accidental embedding from malicious websites.

However if you feel you are knowledgeable enough to avoid this, you can give unfiltered_html users (Administrators and Editors) the ability to embed from websites that have oEmbed discovery tags in their <head>. You merely need to install Enable oEmbed Discovery plugin.

External Resources

Changelog

  • 3.4
    • Twitter added
  • 3.0
    • SmugMug supported added
    • FunnyOrDie.com supported added
  • 2.9
    • Introduction of the builtin Embeds support.
本文已被标记为需要加工。欢迎您踊跃编辑,来帮助 Codex。