【WordPress】記事内の最初の画像をアイキャッチ画像として設定する方法

WordPressのテーマには、記事ごとにアイキャッチ画像を設定できる機能が備わっています。通常、記事を作成する際には、アイキャッチ画像を手動で選択する必要があります。しかし、毎回アイキャッチ画像を設定するのは手間がかかり、画像を忘れることもあります。

そこで、記事内の最初の画像を自動的にアイキャッチ画像として設定する方法を紹介します。これにより、記事内の最初の画像がアイキャッチ画像として表示され、ブログの外観が向上します。

サンプルコード

functions.phpファイルに以下のコードを追加します。このコードは、記事内の最初の画像をアイキャッチ画像として設定する役割を果たします。

function set_first_image_as_featured_with_default($content) {
    global $post;
    $pattern = '/<img(.*?)src=[\'"](.*?)[\'"](.*?)>/i';
    preg_match($pattern, $content, $matches);

    if (isset($matches[2])) {
        $image_url = $matches[2];
        $image_id = attachment_url_to_postid($image_url);
        
        if ($image_id) {
            set_post_thumbnail($post->ID, $image_id);
        }
    } else {
        // デフォルト画像のURLを指定
        $default_image_url = 'URL-TO-YOUR-DEFAULT-IMAGE.jpg';

        // デフォルト画像をアイキャッチ画像として設定
        $default_image_id = attachment_url_to_postid($default_image_url);
        if ($default_image_id) {
            set_post_thumbnail($post->ID, $default_image_id);
        }
    }
    
    return $content;
}
add_filter('the_content', 'set_first_image_as_featured_with_default');

コードを追加したら、変更を保存してfunctions.phpファイルをアップロードまたは更新します。

これで、新しい投稿を作成する際、最初の画像が自動的にアイキャッチ画像として設定されるはずです。また、記事内に画像がない場合、デフォルト画像がアイキャッチ画像として表示されます。デフォルト画像のURLを設定する際は、独自のデフォルト画像を指定してください。

この方法を使用することで、アイキャッチ画像の設定を効率化し、ブログの外観を向上させることができます。 WordPressの機能を最大限に活用して、魅力的なコンテンツを提供しましょう。