get_oembed_response_data

説明

mixed get_oembed_response_data( mixed $post, int $width )
oEmbedレスポンス情報を取得する。

パラメータ

  • $post
    投稿情報(オブジェクト)または投稿IDを指定。
  • $width
    リクエストされた幅を指定。

返り値

投稿情報が公開済みの場合はoEmbedレスポンス情報として連想配列を返す。投稿情報が無効か、公開されていない場合はfalseを返す。
キー内容有無
'version'バージョン番号('1.0')
'provider_name'サイト名
'provider_url'サイトのホームURL
'author_name'投稿者名(display_name)
'author_url'投稿者アーカイブURL
'title'投稿タイトル
'type'レスポンスタイプ('rich'、'link'、'video'など)
'width'
'height'高さ
'html'出力用のHTML
'thumbnail_url'サムネイル画像のURL設定時のみ
'thumbnail_width'サムネイル画像の幅設定時のみ
'thumbnail_height'サムネイル画像の高さ設定時のみ

注意

投稿者情報が取得できなかった場合、キー'author_name'にはサイト名が、'author_url'にはサイトのホームURLが格納される。

幅の値は標準('oembed_min_max_width'フィルターで変更可能)で200~600の範囲となり、高さは幅の16:9の比率で算出された値(200未満の場合は200)となる。

キー'html'以降の内容は、標準で'oembed_response_data'フィルターとして優先度10で指定されているget_oembed_response_data_rich関数によって格納される。キー'thumbnail_url'、'thumbnail_width'、'thumbnail_height'は投稿情報にサムネイル画像が設定されている場合のみとなる。


使用例

  • oEmbedレスポンス情報を取得する。
    <?php wp_check_for_changed_dates( $post, 600 ); ?>

フィルター

[4.4.0]幅と高さを決定する前に'oembed_min_max_width'フィルターを呼び出す。パラメータには幅の上限と下限を含んだ連想配列が格納される。
$min_max_width = apply_filters( 'oembed_min_max_width', array(
	'min' => 200,
	'max' => 600
) );
[4.4.0]値を返す直前で'oembed_response_data'フィルターを呼び出す。パラメータ$dataには連想配列が、$postには投稿情報が、$widthには幅が、$heightには高さが格納される。
return apply_filters( 'oembed_response_data', $data, $post, $width, $height );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/embed.php

最終更新 : 2018年12月07日 10:02



お勧め

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 更新)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。