はてなブログoEmbed APIを使った「はてなブログの埋め込み」

はてなブログoEmbed APIを使用して、はてなブログの埋め込みをやってみました。

下記 e.g. のように、ショートコード内に、埋め込みたい「はてなブログ」のアドレスを記入します。

/**
/**
 * add shortcode
 * e.g. [hatena url_is="https://mtac.jp/wordpress/wp-ssl/"]
**/
add_shortcode('hatena','mta_hatena');
function mta_hatena($url){
  $json = json_decode(
    wp_remote_retrieve_body(
      wp_remote_get(
        esc_url('http://hatenablog.com/oembed?url='.$url['url_is'].'&format=json')
      )
    )
  );
	echo ($json->{'html'});
}
    解説
  • はてなブログエンドポイント + 取得したいブログアドレス へ HTTPリクエスト
  • 取得したJSONデータから、ボディ部のみを取り出し、デコード
  • iframeタグで囲まれた連想配列データを取り出し表示

一例として、本日の人気記事を一つをピックアップして、当投稿に埋め込みました。(注1)
はてなグログ

注1:
当サイトのようにhttpsサイトでは、iframe 内サイトが http の場合、表示されません。よって、別の埋め込め方法を選択する必要があります。

上記、埋め込みブログの例は、埋め込みをではなく、説明のため、画像データを貼り付けています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です