WordPressでプラグインなしでURLを指定してスクリーンショットを表示する方法

WordPressでプラグインなしでURLを指定してスクリーンショットを表示する方法

camera
WordPressでスクリーンショットを表示させることって、ちょいちょいあります。
てっきりプラグインなのかと思ってましたが、プラグインなしでもスクリーンショットの表示ができるらしいので参考にさせてもらいました。

functions.phpに以下を追加。

//URLを入力しスクリーンショットを撮る
function wpr_snap($atts, $content = null) {
    extract(shortcode_atts(array(
        "snap" => 'http://s.wordpress.com/mshots/v1/',
        "url" => 'http://wdsc.xyz/',
        "link" => '',
        "alt" => 'capImg',
        "w" => '480', // width
        "h" => '360' // height
    ), $atts));
 
    if($link == '') { $link = $url; }
    $img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>';
    return '<p>' . '<a href="' . $link . '" target="_blank">' . $img . '</a>' . '</p>';
} 
add_shortcode("snap", "wpr_snap");

投稿画面に以下のショートコードを入力。

[snap url="http://yahoo.co.jp/" link="http://yahoo.co.jp/" alt="Yahoo!" w="300" h="200"]

参考サイトは最初のURLの「tande.jp」さんの方を使わせてもらいました。ほぼ、まんま使わせてもらってます。
サイズは一応functions.phpの方で指定してるけど、投稿画面でもサイズ指定できるっぽいですね。
プラグインでのスクリーンショットもいいですが、プラグイン使わなくていいのなら、それにこしたことはないような。

参考サイト
[WordPress] 指定したURLのスクリーンショットを挿入する
[WordPress] URLを指定してサイトのスクリーンショットを表示するショートコード(WordPress.comのAPIを使用)