Webデザインやコーディング、WordPressのTipsを発信するブログ

WordPressでアイキャッチ画像(Featured Image)が設定されていない投稿に代わりの画像を自動表示させるには、テーマのテンプレートファイル(たとえば single.php や content.php)に条件分岐を追加する方法が一般的です。
以下のコードは、アイキャッチ画像がない場合にデフォルト画像を表示するシンプルな例です。
まずはアイキャッチ画像を使えるようにするため、functions.phpにコードを追加します。
// アイキャッチ画像を有効にする。
add_theme_support('post-thumbnails');
the_post_thumbnail() を条件分岐で制御<?php
if (has_post_thumbnail()) {
the_post_thumbnail('full'); // もしくは 'medium', 'thumbnail' などサイズ指定
} else {
echo '<img src="' . get_template_directory_uri() . '/images/default.jpg" alt="デフォルト画像">';
}
?>
has_post_thumbnail():アイキャッチが設定されているかどうかを判定。get_template_directory_uri():現在のテーマのディレクトリURLを取得。/images/default.jpg:テーマ内の画像フォルダに配置している代替画像パス。function show_featured_image_or_default($size = 'full') {
if (has_post_thumbnail()) {
the_post_thumbnail($size);
} else {
echo '<img src="' . get_template_directory_uri() . '/images/default.jpg" alt="デフォルト画像">';
}
}
テンプレート内で以下のように使えます:
<?php show_featured_image_or_default('medium'); ?>
以上がアイキャッチ画像が設定されていない投稿に代わりの画像を自動表示させる方法です。
ぜひ活用してみてください。
最後までお読みいただきありがとうございました!