記事中一番最初の画像を自動表示するが画像なしの時はHTML非表示にしたい
-
「WordPressで記事中の一番最初の画像を自動で表示するが、画像がない時は、前後のHTML自体を非表示にしたい。」
いろいろな方のサイトを参考にしまして、
function.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 = “/images/default.jpg”;
}
return $first_img;
}と記述し、
その後、
設定したい箇所に
<div class=”box”> <img src=”<?php echo catch_that_image(); ?>” width=”120″ alt=”” class=”imgR” /></div>
などという感じで設置しました。
上のfunction.phpだとない場合は、default.jpg画像を表示するという形になっていますが、
これを、画像が有る場合は、
<div class=”box”> <img src=”<?php echo catch_that_image(); ?>” width=”120″ alt=”” class=”imgR” /></div>
を採用し、
記事自体に画像が存在しない場合には、
<div class=”box”> <img src=”<?php echo catch_that_image(); ?>” width=”120″ alt=”” class=”imgR” /></div>
これ自体を表示しないようにすることは可能でしょうか?条件分岐でできないかなと思うのですが、
なかなか成功せずアドバイスいただけると助かります。
- トピック「記事中一番最初の画像を自動表示するが画像なしの時はHTML非表示にしたい」には新たに返信することはできません。