Written by Kasumi

【wordpress投稿】アイキャッチではなく最初の画像をサムネイルにする方法

こんにちは、カスミです。

さて、以下のようなお悩みをお持ちでしょうか?

投稿アーカイブ一覧ページで、サムネイルがアイキャッチ画像を読んでる。
これを記事内にでてくる最初の画像を呼び出したい。

OGP画像をアイキャッチではなく、最初の画像を呼び出したい。

このようなお悩みを解決致します。

本記事では、wordpress投稿記事内の最初の画像を呼び出す関数コードを紹介します。

最初の画像を呼び出すコード

//-----------------------------------------------------
// 【記事中の最初の画像を表示】
//-----------------------------------------------------
function post_firstimg() {
    global $post, $posts;
    $firstimg = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $firstimg = $matches [1] [0];
    if(empty($firstimg)){
        // 画像が無い場合は以下デフォルト画像を読み込む
        $firstimg = "/thamnail.jpg";
    }
    return $firstimg;
}

上記コードをfunctions.phpにコピペしましょう。

投稿アーカイブ一覧のimgタグ内、OGP画像タグ内のアイキャッチを読んでいる箇所に以下コードを入れて先ほどの関数を呼び出します。

<?php echo post_firstimg();?>

上記コードを入れる事で、記事内の最初の画像のURLが出力されます。

以上で完了です。

まとめ

カスタム投稿の際は$output変数内、$post->post_content$postをカスタム投稿配列が入ってる変数に変更すればOKです。

以上で解説を終わります。

目次

関連記事

WordPress

CodePenをwordpressの投稿記事に貼り付けよう!【簡単便利】

更新日:2019.11.28
389
WordPress

【WordPress】自作で関連記事を実装する方法【プラグインなし】

2022.06.28
878
WordPress

【WordPress】get_the_categoryで子カテゴリのみ取り出す方法

2022.11.04
561
WordPress

【WordPress】記事詳細ページのURL末尾スラッシュを削除する方法

2022.05.29
2078