Warning: Undefined array key "HTTP_USER_AGENT" in /home/youhei0828/kachibito.net/public_html/wp-content/themes/kachibito7_with_cocoon_child/functions-module/other/tiny-fixed.php on line 75
ちょっとネタ的なTips。WordPressで
スクリーンショットを取りたい時に、
wordpress.comの非公開APIを使って
スクリーンショットを手軽に取得しよう
という内容。使い方次第ではなかなか
便利なんじゃないでしょうか。
wordpress.comのスクリーンショットを取得するAPIを使うとキャプチャせずともスクリーンショットが撮れるので楽です。
非公開API
以下のようにスクリーンショットを取得できるようです。
http://s.wordpress.com/mshots/v1/http%3A%2F%2Fexample.com%2F?w=250
このブログだと以下のような感じ
http://s.wordpress.com/mshots/v1/http%3A%2F%2Fkachibito.net%2F?w=500
URL部分をエンコーディング、w=数値で幅を設定出来ます。この非公開APIの使用に関してはbinarymoonがMattに使用可能か問い合せていますが、「使用もリンクも自由」との回答を得たものの、オフィシャルではない為、いつまでも使える保証はないそうです。
コード
先ほどのbinarymoonがBM Shotsというプラグインを作成しているのでコードの一部を借りました。functions.phpに以下を追記
function api_sc_shot ($attributes) { extract(shortcode_atts(array( 'url' => '', ), $attributes)); $imageUrl = sc_shot ($url); if ($imageUrl == '') { return ''; } else { return '<img src="' . $imageUrl . '" alt="' . $url . '" />'; } } function sc_shot ($url = ''){ return 'http://s.wordpress.com/mshots/v1/' . urlencode(clean_url($url)) . '?w=500'; } add_shortcode('scshot', 'api_sc_shot');
プラグインから僕が不要なコードを抜いただけなので結構適当ですが、もっと簡単なコードで出来るかもですね。上コードでは画像の幅を500pxに指定しています。Webサイトに合わせて数値を変更してください。
で、ショートコードで画像を取得します。
[scshot url=”/”]
以下のように実装。
まぁでもBM Shots使ったほうが楽ですね。
いつまで使えるのか分かりませんけど、公式APIとして公開してくれるとちょっと嬉しいですね。
(via:actyway)