【決定版】プラグインなしでRSSにアイキャッチ画像を表示する2つの方法

RSSフィード画像STINGER PLUS+
home>
WordPress>
STINGER PLUS+>
【決定版】プラグインなしでRSSにアイキャッチ画像を表示する2つの方法

この度は、度重なるRSSフィードにアイキャッチ画像を出力表示させる方法を連続して検証も兼ねて投稿してしまい申し訳ありませんでした。

何度か実際に実施してみてプラグインを使わないでRSSフィードにアイキャッチ画像を出力表示させることが出来ました。

以前の記事でも、

以前、RSSにアイキャッチ画像を出力する方法という記事を書きました。 普通の?RSSフィードに(PINGOOなど)にはアイキャッチがちゃんと表示されていました。

 

問題なく通常のFeedlyなどのRSSフィードにおいてはアイキャッチ画像は表示されていました。
ですが、BloggerのRSSフィードにはアイキャッチ画像が「image」という表示になってしまっていました。

スポンサーリンク
スポンサーリンク
この記事を読む方へのオススメ

目次に戻る


プラグインを使わずに全てのRSSフィードにアイキャッチ画像を表示させる方法まとめです。

1つ目の方法です。

以前と同じfunction.php内に以下のコードを追記するだけでBloggerのRSSフィード以外にはしっかりとアイキャッチ画像は出力表示されていました。

 

// RSSにアイキャッチを出力
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

 

上記の4行目の($post-ID) .のpost-IDの後に、

,’thumbnail’を記述するだけで、
BloggerのRSSフィードにもアイキャッチ画像を無事出力表示されるようになりました。

 

画像サイズの指定をしてやることで、しっかりと出力表示させることがより確実にできます。

 

2つ目の方法です。

同じくプラグインは使用しないでというのが大前提条件な訳ですが、

以下のコードをfunction.php内に追記することでFeedly以外などのRSSフィードにもアイキャッチ画像を出力表示することが出来ます。

 

/**
* RSS Feeds へアイキャッチ画像を出力する
* 画像サイズは thumbnail とする(すべてのRSSフィードにて表示させるには thumbnail サイズの為)
*/
function rss_post_thumbnail($content) {
global $post;
$img = get_the_post_thumbnail($post->ID,'thumbnail');
if(!empty($img)){
$content = "<p>$img</p>" . $content;
}
return $content;
}

add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

 

上記のコードの場合には、$post->IDの後に画像サイズを指定してやらないとエラーになってしまいす。

画像サイズの指定方法は以下になりますが、
Stinger6、Stinger7やStingerPLUS+(affinger4でも同様かもしれませんが、)Stinger6とStinger7とStingerPLUS+以外は未検証になります。

 

※各テーマに合わせて指定サイズを変えてみてください。

 

画像サイズの指定方法のコード

get_the_post_thumbnail($post->ID,'thumbnail') //サムネイルのサイズ
get_the_post_thumbnail($post->ID,'medium') //中サイズ
get_the_post_thumbnail($post->ID,'large') //大サイズ
get_the_post_thumbnail($post->ID,'full') //フルサイズ
get_the_post_thumbnail($post->ID,array(250,100)) //指定サイズ

コメントアウトにて意味を書いてありますがそれぞれの説明としては、

  • thumbnail→そのままサムネイル画像のサイズ。
  • midium→中くらいのサイズ。
  • large→大きいサイズ。
  • full→フルサイズ。
  • 250,100→任意の指定サイズ。

となります。

 

これまで、「image」となってしまうRSSフィードでの内容の原因は、

function.php内に記載されている以下にあると思われます。

 

// アイキャッチサムネイル
add_theme_support( 'post-thumbnails' );

add_image_size( 'st_thumb100', 100, 100, true );
add_image_size( 'st_thumb150', 150, 150, true );

 

上記コードのスクリーンショット画像

RSSフィードアイキャッチ画像サムネイル指定サイズコード

 

この2つ目のプラグインを使用しないでRSSフィードにアイキャッチ画像を表示させる方法において、

RSSフィードの情報を確認してみると、しっかり description にイメージ画像が設定されています。

 

RSSフィードの情報スクリーンショット画像

 

RSSフィードにアイキャッチ画像を出力ソースコード正式版

 

なので、
1つ目の方法よりこちらの2つ目のfunctionコードでの実装の方が良いと思われます。

 

簡単なコードの説明としては、

 

処理としてはフィード情報の作成時にフィルターフックしてコンテンツの前に画像の img タグを挿入しているだけなので、画像用の特別な要素があるわけではなく、description として抜粋の前に画像が追加されます
RSSフィードにアイキャッチ画像を追加して Feedly で確認してみる – セルティスラボ

 

以上、
RSSフィードにアイキャッチ画像を表示させる方法でした。

スポンサーリンク

最後に参考サイトは以下になります。

WordPress で作成した記事を Feedly で見た時にサムネイル画像が表示されていない場合のプログラムサンプルです (^^)

 

ありがとうございます。

今回は、
なぜなのかを検証するのにローカルにてではなく実際に確認検証してみてしまったので、無駄な?記事もあります。

検証確認する際には・・・・・・。

まずは、ローカル環境にて行ってみるのをオススメします。

(でも、RSSフィードだから実際に記事を書いてみて投稿公開してみないと無理だよなぁ(・・*)。。oO(想像中))

より良い方法を追記)

これまでに何度かThemeによってRSSフィードやFeedlyなどにアイキャッチ画像が表示されないThemeがあります。このアイキャッチ画像を今更ながら再検証してみました。以前にf

コメント

スポンサーリンク
タイトルとURLをコピーしました