はてなブログ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 の場合、表示されません。よって、別の埋め込め方法を選択する必要があります。
上記、埋め込みブログの例は、埋め込みをではなく、説明のため、画像データを貼り付けています。