WordPressで、アイキャッチ画像がないときは指定した画像を表示させる。

2019年09月21日 正午の月齢:22.1  月名:弓張月(下弦)  潮汐:小潮 月齢:22.1[弓張月(下弦)] 潮汐:小潮
3か月前に投稿 | WordPress | コメントはありません

4分ぐらいで読めます。

今まで、サイドバーの「最新の記事」に表示される記事名には、アイキャッチ画像を設定しているときはサムネイルが付くようにしていました。

アイキャッチ改造前

アイキャッチ画像がないときは、文字しか出ないというわけですね。ちょっと寂しいかな。

この部分のPHPはこんな感じ。

<h2>最近の記事</h2>
<ul id="recent">
<?php $posts = get_posts('numberposts=20'); ?>
<?php foreach($posts as $post): ?>
<li>
<span class="eye"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(40,40), array('class' => 'left')); ?></a></span><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>

「the_post_thumbnail」関数でアイキャッチ画像を呼び出しています。

「もしアイキャッチ画像がないときは、あらかじめ指定しておいた画像が出るようにしたい。」ということで、以下のように改造してみました。

<h2>最近の記事</h2>
<ul id="recent">
<?php $posts = get_posts('numberposts=20'); ?>
<?php foreach($posts as $post): ?>
<li>
<span class="eye">
<?php if(has_post_thumbnail()): ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(40,40), array('class' => 'left')); ?></a>
<?php else: ?>
<a href="<?php the_permalink(); ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/no_thumb.jpg" alt="" width="40" height="40"></a>
<?php endif; ?>
</span>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>

if(has_post_thumbnail()」で条件分岐させ、「もしアイキャッチ画像があるときは、アイキャッチ画像を表示する。そうでないときはno_thumb.jpgを表示する。」としてみました。

こんなふうに表示されるようになりました。

アイキャッチ改造後

文字の頭が揃って、ちょっと整った感じがしますネ。

ちょっと味気ない画像なので、そのうち変えるかもしれませんが、当分はこのままで。

古い記事・新しい記事

古い記事
新しい記事

コメントはありません »

[RSS on this post] [TrackBack URI]

コメントをどうぞ

Translate »