[掲載日] (更新日) この記事は約 4 分で読めます

たった1行!WordPressでカスタムフィールドのURLから自動的にスクリーンショットを撮る方法。プラグイン不要!

Wordpressでスクリーンショットをアイキャッチやサムネイルにしたいなと言うときありますよね。
さらにカスタムフィールで設定したURLから取得できたら簡単だなと思ったことありませんか?

「記事が1000記事もあるから、いちいち変えてられないよ!」
「そう思いますか?」

そんな横着をたった「1行」で実現する方法をご紹介します。

無料パソコンスクール講座
WordPress・SEO・プログラミング

あなたに以下のことで 悩んでないだろうか?

  • 「フリーランスになりたいけど稼げるか不安だ」
  • 「クラウドソーシングや営業して稼げるか不安だ」
  • 「転職で必要になり困っている」
  • 「スマホはあるけどパソコンが古くて不安だ」
  • 「広告やLINEからの集客を得たい」
  • 「仕事でグラフや資料制作を思うように作れない」
  • 「プログラミングを学習して副業したいけど不安だ」
  • 「副業をはじめたが、いっこうに成果がでない」
  • 「退職してノートパソコンだけで収入を得たい」
  • 「何がわからないかわからない状態が続き何度も挫折した」
  • 「在宅で稼げるようになりたい」
  • 「副業で収入を得たい」

そんなお悩みのあなたにこそ 取得して頂きたい内容です!

このメディアを運営している制作・プログラミング相談のプロが
全て無料で相談と学習できるように
無料スクールのメルマガ講座を開設しました。

いまなら、先着300部限定で無料プレゼント付です。

まずこのコードをコピペします

このソースは参照元から頂いたソースですが、このまま使います。

function.phpへ追加します。一番下で良いです。

[php]
/*——————————————-*/
/* WordPress APIでスクリーンショットを表示するショートコード
/*——————————————-*/
function get_wp_screenshot($attr) {
extract(shortcode_atts(array(
// デフォルト設定
‘url’ => ”,
‘alt’ => ”,
‘class’ => ”, // imgタグに付加するclass名
‘width’ => 0, // 画像の幅(0の場合はwidthタグを出力しない)
‘link’ => 0 // 0:リンクしない 1:リンクする
), $attr));
if ($url == ”) {
return;
}
$image = ‘http://s.wordpress.com/mshots/v1/’ . urlencode(clean_url($url));
if ($width > 0) {
$height = floor($width/4*3);
$image .= ‘?w=’ . $width;
$image_wh = ‘ width="’ . $width . ‘" height="’ . $height . ‘"’;
}
if ($class != ”) {
$image_wh .= ‘ class="’ . $class . ‘"’;
}
$image = ‘<img src="’ . $image . ‘" alt="’ . $alt . ‘"’ . $image_wh . ‘>’;
if ($link == 1) {
$image = ‘<a href="’ . $url . ‘" target="_blank">’ . $image . ‘</a>’;
}
return $image;
}
add_shortcode(‘wpshot’,’get_wp_screenshot’);
[/php]

WordPressテーマに記述

これのショートコードを使います。

[php]
<!– 記事本文で利用可能 –>
[
wpshot url="スクリーンショット取りたいURLを記述" width="幅" alt="説明" class="クラス名"
]
<!– []で括ると変換されるため改行していますが、本来は1行です。 –>
[/php]

このままだと、テンプレート本文には使えませんのでPHPに書き換えます。
その時必要なコードは

[php]
<!– テーマ内で使用可能 –>
echo do_shortcode(‘[ショートコード]’);
[/php]

このコードが必要です。
この2つのコードを合体させます。

[php]
<!– テーマ内で使用可能 –>
echo do_shortcode(‘[
wpshot url="スクリーンショット取りたいURLを記述" width="800" alt="" class="sshot"
]’);
<!– []で括ると変換されるため改行していますが、本来は1行です。 –>
[/php]

このままでも十分機能しますが、
「折角設定したカスタムフィールドのURLを追加したいんだ!」

「今まで設定した記事が1000記事もあるんだ!」

「そう思いましたか?」

それでは、完成したたった1行をご紹介。

WordPressのカスタムフィールのURLから取得する

仕上げに echo内にPHPを記述します。

カスタムフィールドの値が、cfurl だとします。

さっきのコードに 合わせると、

[php]
<!– テーマ内で使用可能 –>
echo do_shortcode(‘[
wpshot url="’ .post_custom(‘cfurl’). ‘" width="800" alt="" class="sshot"
]’);
<!– []で括ると変換されるため改行していますが、本来は1行です。 –>
[/php]

これがたった1行で実現する方法です。
※function.phpでコピペした内容は除く。

 

まとめ

  1. function.phpへ貼り付ける
  2. 本文へ1行コードを入れる

たったこれだけです。
簡単ですね。

参考サイト

参考にさせていただいたサイトをご紹介します。
http://m.designbits.jp/12071410/