「できない」と思っていても、いざ行動に移してみると意外なほどあっけなく解決した。嬉しくもあり悲しくもある。いやはや、思い込みって怖いですね……。

ってなわけで今回はできないと思っていたけど調べてみたらRSSにアイキャッチを表示させる方法があった、しかも超簡単に、もっと早くやっときゃよかった、というお話です。

アイキャッチがRSSに表示されない……

アイキャッチはその記事を象徴するような画像のことで、WordPressでは記事ごとに設定することができます。わたしのブログだと各記事の冒頭に表示されている画像がそれに当たります。

wordpress_eyecatch01

このアイキャッチ画像、わたしの使っているテーマだとブラウザで記事を見た時は表示されるのですが、RSSではなぜか表示されなかったんですよね………。せっかく毎回手間かけてアイキャッチ画像作ってるのに、それが表示されないなんてもったいないじゃなイカΣ(>Д<;) という気持ちが頂点に達したので、重い腰を上げて改善に乗り出したというわけでした。以下、その方法を紹介します。

functions.phpをいじる

やることはとっても簡単。以下のコードをfunctions.phpに追記してファイルを更新するだけでOKです。

function rss_post_thumbnail($content) {
  global $post;
  if(has_post_thumbnail($post-&gt;ID)) {
  $content = '&lt;p&gt;' . get_the_post_thumbnail($post-&gt;ID) .
  '&lt;/p&gt;' . get_the_content();
  }
  return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

すると、次の更新からアイキャッチ画像がRSSにも表示されるようになります。

(※注)functions.phpは扱いを間違えるとブログが真っ白になるので、手を加える際は事前にバックアップを取っておくことを推奨します。また、わたしは上記の方法でうまくいきましたが、必ずしも同様の結果が得られるとは限りません。何かトラブルが発生しても責任は負いかねますので、必ず自己責任でお願いします。

おわりに

これでRSSにもアイキャッチ画像が表示されるようになりました。ずっとできないものだと思ってたけどこんなに簡単に解決できたとは。。。やっぱり思い込みは良くないですね。柔らかい頭を持たないとな。もしわたしと同じようなことで悩んでる方がいれば参考にしてください。

参考:ふじこのプログラミング奮闘記