アイキャッチ画像がない場合に記事内はじめの画像をアイキャッチにする方法とリンク先画像取得-WordPress

アイキャッチ画像がない場合に記事内はじめの画像をアイキャッチにする方法とリンク先画像取得-WordPress

  • 2018-11-10  最終更新日:2018-11-10

今回はワードプレスのアイキャッチです。記事内はじめの画像を取ってくる方法は結構出回っているので、リンク先の画像を撮ってくる方法をプラスしたやり方になります。

記事内はじめの画像を取得する方法は結構ありますが、よくよく探したらあったかもしれませんがリンク先の画像を取ってくる方法がなかったので自作しました。とはいっても単純に条件をつけただけなのです。

一応1番目じゃなくて2番目の画像を表示させたい場合などにも設定できるようにしてあります。


記事内画像を取得

ワードプレスアイキャッチ

単純にfunctions.phpに以下の関数をいれます。取得したい画像の位置に2とすれば2番目の画像を撮ってくれます。

functions.php

function get_the_image() {
    global $post;
    $get_img = '';
    // 取得したい画像の位置
    $number = 1;
    $pattern1 ='/<a href=[\'"]([^\'"]+.(jpg|jpeg|gif|png|svg))[\'"]>/i';
    $pattern2 ='/<img.*src=[\'"]([^\'"]+)[\'"].*>/i';
    // リンク先画像があるかどうか
    $match_num = preg_match_all($pattern1, $post->post_content, $matches);
    if($match_num === 0){
    // リンク先画像がない場合は最初の画像を取得
        preg_match_all($pattern2, $post->post_content, $matches);
    }
     $get_img = $matches[1][$number - 1];

    if(empty($get_img)){
        // 記事内に画像がない場合のデフォルト画像を設定
        // デフォルト画像を非表示にしたい場合は下にある$get_img = false;の左側の//を消したらよいです。
        $get_img  = get_template_directory_uri()."/img/default.jpg";
        // $get_img  = false;
    }
    if($get_img === false){
        return false;
    } else{
        // 画像表示設定
        $alt = get_the_title();
        $img = '<img src="'.$get_img.'" alt="'.$alt.'" class="attachment-post-thumbnail size-post-thumbnail wp-post-image">';
        return $img;
    }
}

あとはアイキャッチを表示させたい場所にて以下の通り記載するだけです。

<?php if (has_post_thumbnail()) : ?>
    <?php the_post_thumbnail(); ?>
<?php else : ?>
    <?php echo get_the_image(); ?>
<?php endif ; ?>

ワードプレスアイキャッチ

参考になれば幸いです。


∞Tadashi Suyama∞

wordpress wp アイキャッチ eyecatch img image
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

サイト内検索

最近の投稿

アイキャッチ
Perlで500エラー!原因は文字コードだけでなく改行コード

あまりcgiは使いたくないのですが使わざるを得ない時があります。仕方なく設置するのですがエラーが出ちゃうんです。なんか知らないけど。 ありがちなのがパーミッションとかパスが問題になるんのですけど...

19 Feb 2022

アイキャッチ
WordPressの標準メールアドレスの変更方法

今回はワードプレス専用のアドレス変更方法をご紹介します。ワードプレスのアドレスはwordpress@~という形で送られてきますが変更可能です。 functions.phpに記載するのですがプラグ...

12 Feb 2022

アイキャッチ
LibSass(node-sass)からDartSassに移行の手順

Sassの遷移は多すぎる今日この頃 Ruby Sass→LibSass→DartSass(いまここ) Ruby SassはSassの最初の実装でしたが、2019年3月26日にサポートが終了しま...

22 Jan 2022

アイキャッチ
明けましておめでとうございます

明けましておめでとうございます。 本年も何卒よろしくお願いいたします。 年末年始は雪でしたね、そこまで積もっていませんが。 {% include adsensearticle.html...

10 Jan 2022

アイキャッチ
そろそろvuejs始める

最近はjQueryよりvueで書いた方が楽ではないかと思い学習中です。 そもそもVuejsはドキュメントが日本語対応なので試しやすいし情報も豊富なので学習しやすいです。 3大フレームワークと呼...

02 May 2021

著者

ウェブエンジニアの須山のブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

フッターイメージ