カスタムテーマにoEmbed DeviantArt統合を追加しようとしています。
私は最初のステップは非常に簡単であることがわかりました、と付け加えました
wp_oembed_add_provider( 'http://*.deviantart.com/#/d*', 'http://backend.deviantart.com/oembed' );
テーマのfunctions.phpへ。
さて、デフォルトのHTML出力を変更して、author_name、author_urlなどのように、DeviantArt JSONレスポンス( DeviantARTリファレンス )で利用可能な情報を追加したいと思います。 。
出力を管理するWPコードがclass-oembed.phpのfunctiondata2htmlの中にあることをよく研究してみましたが、ここでコードを変更するのは嫌いです。
希望の結果を得るために、どのように私のテーマに機能を追加することができますか?
WP_oEmbed::data2html()
にはフィルタがあります、 oembed_dataparse
。これを使用して、2番目のパラメーターとして渡される追加のデータに基づいて、出力を変更することができます。
例えばこんな感じです:
add_filter( 'oembed_dataparse', 'wpse17461_oembed_dataparse', 10, 3 );
function wpse17461_oembed_dataparse( $html, $data, $url )
{
if ( FALSE !== strpos( $url, 'deviantart.com' ) ) {
return $html . '<br/>Author: ' . $data->author_name;
}
return $html;
}