【WordPress】アイキャッチ画像が設定されていない場合にデフォルトの画像を表示する方法

WordPressのテーマをカスタマイズする際に、アイキャッチ画像が設定されていない場合にデフォルトの画像を表示する方法をご紹介します。これにより、投稿ごとにアイキャッチ画像を設定する手間を省き、サイトの外観を統一感あるものにすることができます。

functions.phpファイルを編集

まず、テーマのfunctions.phpファイルを編集します。以下のコードを追加してください。

function default_featured_image() {
    // デフォルトのアイキャッチ画像のURLを指定
    $default_image_url = get_template_directory_uri() . '/images/default-featured-image.jpg'; // 画像のURLを適切に変更する

    // 投稿ページでアイキャッチ画像が設定されていない場合にデフォルト画像を表示
    if (!has_post_thumbnail()) {
        echo '<img src="' . esc_url($default_image_url) . '" alt="Default Featured Image">';
    }
}
add_action('wp', 'default_featured_image');

上記の例では、default-featured-image.jpgというデフォルトの画像ファイルをテーマの/images/ディレクトリに保存しています。実際のファイルパスや画像名は、ご利用のテーマに合わせて変更してください。

テンプレートファイルを編集

次に、デフォルトのアイキャッチ画像を表示させたいテンプレートファイルを編集します。通常、これはsingle.phpやcontent.phpなどの投稿の表示を担当するファイルです。以下はその例です。

<?php
if (have_posts()) :
    while (have_posts()) : the_post();
        // デフォルトのアイキャッチ画像を表示する関数を呼び出す
        default_featured_image();

        // 投稿のコンテンツなどを表示する
        the_content();
    endwhile;
else :
    // 投稿が存在しない場合の表示
    echo '投稿がありません。';
endif;
?>

これにより、投稿ページでアイキャッチ画像が設定されていない場合にデフォルトの画像が表示されるようになります。

まとめ

以上で、WordPressでアイキャッチ画像が設定されていない場合にデフォルトの画像を表示する方法が完了しました。サイトのテーマによっては、テンプレートファイルの構造が異なる場合があるため、適宜調整してください。