• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

oEmbed

提供: WordPress Codex 日本語版
Embedsから転送)
移動先: 案内検索

簡単なショートコードを使うことで、 WordPress サイトに動画・画像・ツイート・音楽などのコンテンツを、とても簡単に 埋め込む(embed)ことができます。この機能は WordPress 2.9 で追加されました。

使い方

投稿固定ページにメディアを埋め込むには、本文欄に URL を書くだけです。URL は独立した行に書くこと、(投稿表示時にクリックできるような)ハイパーリンクにしないこと、の2点に注意してください。

例えば、

この動画を見てみてください。 

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

すごいでしょう?


のように入力すれば、URL を YouTube 埋め込みコード自動変換して、ビジュアルエディタのプレビューで表示できます。

また、オプションとして [embed] ショートコードで URL を囲むことも可能です。

[embed width="123" height="456"]...[/embed]

WordPress が URL を使ってメディアを埋め込むことができなかった場合、URL のハイパーリンクが表示されます。

oEmbed

簡単なメディア埋め込み機能のほとんどは、oEmbed によって提供されています。oEmbed は、A というサイト(例えばあなたのブログ)が B というサイト(例えば YouTube)に、コンテンツ(例えば動画)を埋め込むために必要な HTML を問い合せるためのプロトコルです。

oEmbed は、メディアを埋め込みたいサイトから HTML コードをコピー&ペーストしたりしなくて済むように設計されています。動画、画像、テキストなどに対応しています。

どんな URL でもこの機能を使えますか?

デフォルトでは限られたサイトからの URL のみに有効です。安全対策のため、WordPress は内部のホワイトリストに一致する URL のみを埋め込みます。

メディア埋め込み元として使えるサイト

英語版 Codex のリストをご覧ください。

  • Twitter - 古いバージョンの WordPress では HTTPS 埋め込みに問題が発生することがありますが、URL を HTTPS HTTP に変更すれば修正できます。
  • YouTube - 公開済み、または限定公開の動画およびプレイリストのみに対応しています。「非公開」動画は埋め込めません。
  • Tumblr - 投稿 (name.tumblr.com/post/etc) のみが認識されます。個別の画像 (name.tumblr.com/image) は埋め込めません。

他のサイトに対応する方法

他のサイトへの対応を追加する方法は、そのサイトが oEmbed に対応しているかどうかによって異なります。

oEmbed 対応サイト

サイトが oEmbed に対応している場合は、wp_oembed_add_provider()/en を呼び出し、そのサイトの URL 形式を内部のホワイトリストに追加します。

oEmbed 非対応サイト

wp_embed_register_handler()/en を使ってハンドラーを登録します。その後、HTML を生成するコールバック関数が必要になります。

oEmbed 対応サイトの埋め込みを無効化する

対応済みの oEmbed プロバイダを無効化したい場合は、wp_oembed_add_provider()/en を呼び出してください。

コアでの oEmbed プロバイダのホワイトリスト化

コアに含める oEmbed プロバイダに対しては一定の基準があります。既存のホワイトリストに新しいものを追加するには、一定の条件を満たす必要があります。

oEmbed 自動探知

バージョン4.4時点で WordPress は oEmbed 自動探知 (discovery) をサポートしていますが、ホワイトリストに登録されていないサイトから埋め込めるコンテンツの種類には厳しい制限があります。

具体的には、HTML および動画コンテンツはフィルタリングされ、リンク、ブロッククォート、iframe のみが許可されます。これらをさらにフィルタリングして、悪質なコンテンツの挿入を防止しています。その後、HTML はサンドボックス化され、そこへ追加のセキュリティ制限が加えられます。

しかし、十分に知識があり、そのような防衛策が必要ないなら、unfiltered_html 権限を持つユーザー(管理者と編集者)に対し、<head> に oEmbed 探知タグを持つサイトからの埋め込みを許可することはできます。oEmbed Discovery プラグインを有効化するだけです。これは一般的には推奨しません。

「リンク」と「写真」タイプの oEmbed 探知コンテンツはこのように幅広くフィルタリングされているわけではありませんが、セキュリティのために適切にエスケープされ、悪質なコンテンツがサイトに表示されないようになっています。

外部資料

日本語記事

英語記事

更新履歴

英語版の更新履歴をご覧ください。

注: WordPress 3.5 で埋め込みオプションがメディア設定画面から削除されました。

最新英語版: WordPress Codex » Embeds最新版との差分