WordPressでエントリー最初の画像をサムネイルとして抜き出し、無い場合はNoImage

1,470views/投稿 2013-03-15/更新 2014-03-18

WordPressでエントリーの最初の画像だけサイムネイル表示して、画像がない場合はNo image画像を表示するやり方。

/wp-includes/functions.php にある functions.phpに下記を追加する。
または、テーマフォルダに functions.php を作ってアップロードする。
/◯◯◯.jpgに画像がない場合の代替えNo Image画像のURLを入れる。

<?php
/** 追加 サムネイル画像表示 */
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
$first_img = "/◯◯◯.jpg";
}
return $first_img;
}
?>

そんでもって、画像URLになる <?php echo catch_that_image(); ?> を記述して、下記のような例で使う。

<img src="<?php echo catch_that_image(); ?>" alt="<?php the_title(); ?>" width="120" height="84" />

実際の画像自体はリサイズされない。

関連おすすめ記事