投稿内の最初の画像を任意の場所に表示させる方法
  • 投稿内の最初の画像を任意の場所に表示させる方法
  • 記事公開:2018/03/08
  • 最終更新:-------------

投稿内の最初の画像を任意の場所に表示させる方法

投稿内の最初の画像を任意の場所に表示させる方法をご紹介します。ループや関連記事などで各投稿の最初の画像を表示させたい場合など、今回の内容が役立ちます。5分程度で行えるカスタマイズです。

この記事は約 5 分で読めます。

投稿内の画像を取得して表示させるに至った経緯

クライアント様の一人が、サイトをカスタマイズしているとき、誤って全ての記事のアイキャッチ画像を削除してしまいました。ループ部分にアイキャッチ画像を表示させていたのですが、それらが全て表示されなくなった状態です。

「元に戻して!」と相談されたのですが、データ自体が消えていたので元には戻せません。

「戻せません」と回答しようとしたのですが、サイトを確認してみると、全ての記事でアイキャッチに登録していた画像と同じ画像が、本文の頭に設置されています。

よくよく聞くと、元々HTMLサイトだったのを、WordPressで作り直したサイトだったようです。
その時、本文の頭にあった画像をアイキャッチ画像として登録したとのこと。

この状態であれば、アイキャッチ画像を元に戻すことはできませんが、【本文の頭にある画像をループ部分に表示させる】は可能です。

ループ部分に画像が表示されれば良いとのことでしたので、この方法でループ部分に画像が表示させるように修正をさせていただきました。

【本文の頭にある画像を取得して任意の場所(上記の場合はループ)に表示させる】
やり方をまとめておきましたので、参考になれば参考にしてください。

投稿内に設置された最初の画像を取得して表示させる方法

今回の方法で取得できるのは、【投稿内に設置されている最初の画像】です。
2枚目、3枚目の画像を取得することはできません。

まず、functions.phpに以下のコードを追記してください。

function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all("/]+src=[\"'](s?https?:\/\/[\-_\.!~\*'()a-z0-9;\/\?:@&=\+\$,%#]+\.(jpg|jpeg|png|gif))[\"'][^>]+>/i", $post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
}

WordPress記事内の最初の画像を表示、画像表示問題も解決。より抜粋。

$first_img = "/images/default.jpg";

上記の【/images/default.jpg】部分は、投稿内に画像が一つも無い場合に表示させる代替画像のパスに変更してください。

上記のコードでは相対パスになっていますが、絶対パスで記述しても構いません。

あとは、取得した画像を表示させた居場所に以下のコードを記述します。

<img src="<?php echo catch_that_image(); ?>" />

WordPress記事内の最初の画像を表示、画像表示問題も解決。より抜粋。

画像は元サイズで表示されます。
画像サイズを調整する場合は、CSSで調整するようにしましょう。

画像が親要素の横幅に収まるようにしてやりましょう。
例えば、以下の様に設定してやります。

img{
max-width: 100%;
height: auto;
width /***/:auto;
}

これで、親要素の横幅に画像が収まるようになります。

まとめ

投稿内の最初の画像を任意の場所に表示させる方法をご紹介いたしました。

functions.phpにコードをコピペして、画像を表示した居場所にもコードをコピペするだけでOKです。

記事一覧などで画像を表示させたいけど、アイキャッチ画像を登録していない。
記事数が多すぎて今からアイキャッチ画像を登録するのがめんどう。
ほとんどの記事に特有の画像を張っている。

上記の様な場合、今回の内容が役立つかと思います。

この記事が気に入ったら【いいね】しよう!

Wordpressサイトのカスタマイズで
お困りではありませんか?

あなたのWordpressサイトを、ご希望に沿ってカスタマイズいたします。
次に該当する方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしたいが、自分でカスタマイズする暇がない。カスタマイズが得意な人に丸投げしたい。
  • Wordpressサイトをカスタマイズしてみたが、上手くカスタマイズできなかった。カスタマイズ経験が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしてみたら、バグが発生して困っている。正常に動作するように正しくカスタマイズしてほしい。

一つでも該当する方は、以下のリンクからチェックしてみてください。

詳細を確認する

現在、上記サービスは別ドメインで運用しております。
ドメインは異なりますが、わたしが提供させていただいているサービスです。

著者:takaya kondo

岡山在住のWebディレクターです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

  • 2015-06-14

    【WordPress】プラグインを使わずにページのTOPへ戻るリンクを設置してみた。

    プアラグインを使わずに「ページのTOPへ戻るリンク」を設置する方法をご紹介します。個人的にプラグインの数は少ない方が良いと考えているので今回の作業を行ってみました。「ページのTOPへ戻るリンク」を設置したい方は、参考にしてください。 記事を読む

  • 2017-05-01

    【WordPress】条件分岐でログインしているユーザーのみにコンテンツを表示させる方法

    Wordpressのログインユーザーかどうかで条件分岐させる方法をご紹介します。ログインユーザーにだけコンテンツを表示させたり、一般訪問者と表示させるコンテンツを切り替えたりすることができます。4分だけこの記事を読んでみてください。 記事を読む

  • 2016-03-29

    WordPressのfunctions.phpがある場所

    WordPressのfunctions.phpがある場所をご存知ですか?WordPressに触れたばかりで知らなという方は、絶対に覚えておいた方が良い知識です。3分間だけ時間を確保して、このコンテンツに目を通してください。functions.phpの場所を理解することが出来ます。 記事を読む

  • 2015-01-20

    WordPressで不要になったプラグインを停止・削除する手順+有効化

    このページでは、WordPressで不要になったプラグインを停止・削除する方法をご紹介します。使わないプラグインを有効化しておくとサイトの速度が遅くなったり、-ポイントがいくつかあります。不要なプラグインがあるのであれば、このページを参考に停止・削除してみましょう。 記事を読む

  • 2015-03-20

    WordPressサイトに管理者のみが観覧できるメモを書き込む方法

    WordPressサイトで管理者のみが確認できるメモを残したいと考えたことはありませんか? 管理者としてログインしている時のみサイト上で確認できるメモを作る方法をご紹介します。コピペのみで実装可能です。 記事を読む

コメントを残す


(必須)