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

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

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

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

WordPressサイトの常時SSL化はお任せください。

ADhttps://wordpress-supporters.com/wordpress-ssl/

常時SSL化されていないサイトにGOOGLEが警告文を表示させるまであと僅か!
今すぐにでも必要なWordPressサイトの常時SSL化は、プロに丸投げしてください。
今だけ20,000円OFF、GOOGLE対策、リミット間近、サポート充実。

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

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

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

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

よくよく聞くと、元々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サイトの常時SSL化はお任せください。

ADhttps://wordpress-supporters.com/wordpress-ssl/

常時SSL化されていないサイトにGOOGLEが警告文を表示させるまであと僅か!
今すぐにでも必要なWordPressサイトの常時SSL化は、プロに丸投げしてください。
今だけ20,000円OFF、GOOGLE対策、リミット間近、サポート充実。

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

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

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

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

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

詳細を確認する

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

著者:takaya kondo

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

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

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

  • 2016-01-11

    WordPressの投稿や固定ページにGoogleマップを埋め込む方法

    WordPressの投稿や固定ページにGoogleマップを埋め込む方法をご紹介します。ワードプレスの投稿や固定ページにGoogleマップを埋め込見たい方は参考にしてください。3分で埋め込み方をマスターすることが出来ます。 記事を読む

  • 2014-12-29

    ちょっと手間取った!WordPressで複数のカスタム投稿タイプを設置する方法

    カスタム投稿タイプを複数設置する場合、単純にカスタム投稿タイプを有効にするだけでは正常に動きません。このページでは、複数のカスタム投稿タイプをコピペだけで実装できる手順を解説しています。 記事を読む

  • 2015-07-11

    押し間違いを回避!WordPressの「下書きとして保存」を目立たせろ!

    WordPressの公開ボタンと下書きして保存ボタンを押し間違える方は必見です!下書きして保存ボタンを装飾して目立たせる方法をご紹介します。参考にして押し間違いを回避してください。 記事を読む

  • 2016-07-20

    レスポンシブ対策!電話番号リンクをスマホの場合だけ有効にする方法

    電話番号リンクをPC表示の場合は無効にする方法をご紹介します。レスポンシブサイトで電話番号サイトを設置すると、PC表示の場合もリンクが生きており上手くありません。この辺りをサクッと解決する方法をご紹介しています。 記事を読む

  • 2015-01-04

    WordPressの投稿・固定ページ・カテゴリーなどのIDを調べる方法

    WordPressの記事や固定ページ、カテゴリーなどには個別のIDが振り分けられています。このIDですが、何かしらのカスタマイズなどで必要になる機会が割りと多くあるように感じます。このページでは、記事・固定ページ・カテゴリーのIDを取得する方法をご紹介します。 記事を読む

コメントを残す


(必須)