これは任意のURLで機能しますか?
いいえ、デフォルトではそうではありません。WordPressコアには、セキュリティ上の理由から埋め込み可能な特定のURLのみを許可する内部ホワイトリストがあります。良いニュースは、ホワイトリストを変更でき、新しいサイトやURLをハンドルを登録することで追加できることです。
ウェブサイトのサポートを追加または変更するにはどうすればよいですか?
追加のウェブサイトのサポートを追加するには、そのサイトがoEmbedをサポートしているかどうかに依存します。oEmbed.comは、数百のサポートされているプロバイダーのリストを提供しています。
oEmbed対応サイトのサポートを追加する
サイトがoEmbedをサポートしている場合、wp_oembed_add_provider()
を呼び出して、そのサイトとURL形式を内部ホワイトリストに追加する必要があります。
非oEmbedサイトのサポートを追加する
wp_embed_register_handler()
を使用してハンドラーを登録し、HTMLを生成するコールバック関数を提供する必要があります。
oEmbed対応サイトのサポートを削除する
oEmbed対応プロバイダーを削除したい場合は、wp_oembed_remove_provider
を呼び出す必要があります。
oEmbedディスカバリーについてはどうですか?
バージョン4.4以降、WordPressはoEmbedディスカバリーをサポートしていますが、ホワイトリストに登録されていないサイトを介して埋め込むことができるコンテンツの種類には厳しい制限があります。
具体的には、HTMLおよびビデオコンテンツは、リンク、ブロック引用、およびiframeのみを許可するようにフィルタリングされ、これらはさらに悪意のあるコンテンツの挿入を防ぐためにフィルタリングされます。HTMLはサンドボックス化され、追加のセキュリティ制限が適用されるように修正されます。
ただし、このレベルの安全性を必要としないと感じる場合は、unfiltered_html
ユーザー(管理者およびエディター)に、<head>
にoEmbedディスカバリータグがあるウェブサイトから埋め込む能力を与えることができます。
「リンク」と「写真」タイプのoEmbedディスカバリーコンテンツは、この方法でそれほど厳しくフィルタリングされていません。ただし、セキュリティのために適切にエスケープされ、悪意のあるコンテンツがサイトに表示されないようにされています。
変更履歴
- 2023-01-25: コンテンツのレビューと更新。ホワイトリストに登録されたプロバイダーのリンクリスト。
- 2022-09-11: oEmbedからのコンテンツを追加しました。