WordPress:RSSを使って他サイトの最新情報を取得表示する方法(アイキャッチあり)

SNS

ずーーーと昔だけど、

RSSを使って外部のサイトの投稿をサムネイル付きで表示してみたいと思って

色々なサイトを参考にやってみたけど、

どうしてもサムネイルが表示できずに諦めていた事が

ひょんなことから、解決してしまった。

なぜ、サムネイルが表示できなかったのか?

どうして、サムネイルが表示できなかったかなのだけど、

原因としては

  • そもそも、Worspressがデフォルトで作成するfeedには、画像が含まれていなかった
  • 入れていたタグが、アイキャッチではなく、投稿の一番目の画像を取得する仕様だった

Worspressのfeedに画像が含まれていないなんてこと、思ってもなかったので驚いた。
(と思ったけど、以前の記事でもちゃんとWorspressのfeedに画像を追加することに触れていた!なのに自分でもそれを忘れていた!)

そういわれて、https://nekomoriya.biz/feedを見てみると確かに画像はなかった。

アイキャッチでも一番目の画像でも、どちらでも問題はないと思っていたのだけど、入れていたタグは投稿の最初の画像を表示するようにしてたので、それのどこが駄目だったのかはわからない。

解決法

Worspressのfeedに画像を含める為に、以下のタグをfunctions.phpに追記します。

12行目の‘.home_url().’/images/default1-80×80.pngの部分は、アイキャッチが無い場合に表示するデフォルト画像を指定。

無い場合は、「else { $content = ‘<p><img src=”‘.home_url().’/images/default1-80×80.png” alt=”‘.get_the_title().'” /></p><p>’.$content.'</p>’; }」を削除すれば、アイキャッチが無い場合は何も表示されないように。

改めて、アイキャッチ付きのfeedを取得して表示させる

feedにアイキャッチを含める設定が出来たら、改めて前回できなかったアイキャッチ付きのfeedを取得して表示させます。

3行目~9行目までが、取得したサイトのfeed。

25~31行目で、アイキャッチを投稿へのリンク付きで表示させています。

このままだと、直接ウイジェットなどに貼り付けることはできないので(プラグインなどで貼り付けることを可能にすることはできるけど、おすすめはしない)、プラグイン、Post Snipprtsを使って、ショートコードを作成するのが一番良いと思います。

その場合は、

最初の「<?php」と最後の「?>」を除いて、Post Snipprtsのsnippets作成画面に貼り付けます。

作成画面の「shortcode」と「PHP code」にチェックを忘れずに。

postsnippets

結果

サイドバーのウイジェットの「テキスト」か「カスタムHTML」にショートコードを貼り付けて完了です。

ウイジェットにショートコードを貼り付け

サイトを見てみるとこうなってました。

コードはスタイルを設定していませんので、スタイルシートで体裁を整えてくださいませ。

画像(アイキャッチ)の大きさや、余白など・・・

他サイトのRSSフイードを表示

 

あとがき

なんだか、キツネにつままれたような感じで、

じぶんでも何がどうなったかよくわかってない、、、

あんなに色々探し回ったのが数年前なので、あれから情報が増えたおかげで解決できたんだと思う。

以前、できずに諦めていたことも、再検索、再チャレンジすることの大切さを感じた一件でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA