概要
get_oembed_response_data_for_url
関数は、特定のURLに対してoEmbedレスポンスデータを取得するために使用されます。oEmbedは、異なるウェブサイト間のコンテンツ共有を容易にするための規格であり、動画、画像、リッチメディアなどを他のサイトに埋め込む際に利用されます。この関数は、ブログやCMSで外部メディアを埋め込む機能を実装する際によく使われます。以下は、get_oembed_response_data_for_url
関数が頻繁に用いられる機能の例です。
- 外部動画の埋め込み
- オーディオファイルの表示
- 画像ギャラリーの生成
- 他のブログ記事やページの埋め込み
- ソーシャルメディアの投稿の表示
- リッチメディアコンテンツのインライン表示
- ニュースフィードの埋め込み
- 課題やプロジェクトに関連する外部リソースの提供
この関数の構文は次の通りです。
function get_oembed_response_data_for_url( $url, $args = array() );
パラメータ
$url
(string) : oEmbedレスポンスを取得するための対象URL。$args
(array) : oEmbedリクエストに渡す追加のオプション。
戻り値
- (array|false) : oEmbedレスポンスデータの配列、または取得に失敗した場合にfalse。
関連する関数
使用可能なバージョン
この関数はWordPress 4.4から利用可能です。
コアファイルのパス
wp-includes/class-oembed.php
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: oEmbedレスポンスデータの取得
$url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
$response_data = get_oembed_response_data_for_url( $url );
print_r( $response_data );
このコードは、YouTubeの動画URLを使ってoEmbedレスポンスデータを取得し、結果を表示します。
サンプルコード2: oEmbedレスポンスのカスタマイズ
$url = 'https://twitter.com/TwitterDev/status/1234567890';
$args = array('maxwidth' => 400);
$response_data = get_oembed_response_data_for_url( $url, $args );
echo $response_data['html'];
このコードでは、Twitterの投稿URLからoEmbedデータを取得し、最大幅を400ピクセルに制限したHTMLコードを表示します。
サンプルコード3: エラーハンドリングの追加
$url = 'https://www.example.com/non-existing-page';
$response_data = get_oembed_response_data_for_url( $url );
if ( false === $response_data ) {
echo 'oEmbedデータを取得できませんでした。';
} else {
echo 'データが正常に取得されました。';
}
このコードでは、指定したURLからoEmbedデータを取得し、失敗した場合にはエラーメッセージを表示します。
サンプルコード4: oEmbedフィルターの使用
add_filter('oembed_result', 'custom_oembed_result', 10, 3);
function custom_oembed_result($return, $data, $url) {
// 取得したデータにカスタム処理を追加
return $return;
}
$url = 'https://www.instagram.com/p/CD5Wj23jOLk/';
$response_data = get_oembed_response_data_for_url( $url );
このコードは、oEmbedの結果に対してカスタムフィルターを追加し、特定の処理を実行します。
サンプルコード5: カスタムメディアタイプのoEmbedサポート
function my_custom_oembed_provider($providers) {
$providers['https://mycustomsite.com/*'] = 'https://mycustomsite.com/oembed-endpoint';
return $providers;
}
add_filter('oembed_providers', 'my_custom_oembed_provider');
$url = 'https://mycustomsite.com/some-media';
$response_data = get_oembed_response_data_for_url( $url );
このコードは、カスタムメディアタイプに対してoEmbedプロバイダーを追加し、特定のURLからoEmbedデータを取得します。