PR

[WordPress] 記事内の最初の画像を表示する

WordPress の検索結果(search.php)やタグ(tag.php)、カテゴリページ(category.php)に表示されるタイトルリストに、記事中に使用される最初の画像を表示する方法。

/wp-includes.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 = "/no-image.gif";
 }
 return $first_img;
}


スポンサードリンク

使用例

/ に no-image.gif を適当につくって置く。


if (have_posts()) :
 while (have_posts()) : the_post(); ?>
 <div>
 <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
 <p><a href="<?php the_permalink() ?>"><img style="border:1px solid #333333;padding:3px;" src="<?php echo catch_that_image(); ?>" /></a></p>
 <a href="<?php the_permalink() ?>">この記事を読む</a>
 </div>


※WordPress 3.1.2 で動作確認した

参考文献

  • やりたかったあの機能を実現する、WordPress 中級者必見のカスタマイズ6個 | gerenuk.crazyphoto.org/

コメント