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

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

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

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

更新が面倒なHTMLサイトお持ちではありませんか?

ADhttp://wordpress-supporters.com/wordpress-ka/

そのサイト、Wordpressを導入して更新しやすくしちゃいましょう!
Wordpress請負人なら、既存サイトでもWordpress化することが可能です。
見積もり無料、実績100件以上、サポート充実、再現性バツグン。

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

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

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

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

よくよく聞くと、元々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です。

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

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

更新が面倒なHTMLサイトお持ちではありませんか?

ADhttp://wordpress-supporters.com/wordpress-ka/

そのサイト、Wordpressを導入して更新しやすくしちゃいましょう!
Wordpress請負人なら、既存サイトでもWordpress化することが可能です。
見積もり無料、実績100件以上、サポート充実、再現性バツグン。

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

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

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

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

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

詳細を確認する

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

著者:takaya kondo

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

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

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

  • 2015-09-20

    WordPress管理画面にPDF形式のマニュアルを埋め込む方法

    WordPress管理画面にPDF形式のマニュアルを埋め込む方法のご紹介です。クライアントにサイトを納品する時など、管理画面にWordPressの操作マニュアルを設置しておくと喜ばれます。今回はPDF形式のマニュアルを埋め込む方法です。 記事を読む

  • 2015-03-22

    ビジュアルリッチエディターを非表示にする方法

    WordPressのビジュアルリッチエディターを非表示にする方法をご紹介します。テキストエディターしか使わない方、参考にしてください。 記事を読む

  • 2015-02-05

    WordPressで記事を公開する時に確認アラートを出す方法

    WordPressで記事を公開する時に確認アラートを出す方法をご紹介します。記事を公開する前に確認画面を出したいと考えてやり方を調べてみました。同じようなことがやりたい方、参考にしてください。 記事を読む

  • 2017-07-19

    WordPressで記事URLから記事タイトルを取得する方法

    WordPressで記事URLから記事タイトルを取得する方法をご紹介します。記事URLから記事タイトルが取得できないで困っている方は必見です。たった1行のコピペでお悩みを解決します。 記事を読む

  • 2015-02-03

    WordPressの管理画面で不要なメニューを非表示にする方法

    WordPressの管理画面で不要なメニューを非表示にする方法をご紹介します。管理画面のメニューの中には普段は使わないものもあるかと思います。そのまま表示されていても問題ありませんが、邪魔だなと感じた場合は非表示にすることができます。 記事を読む

コメントを残す


(必須)