WordPress - Feedlyボタンを作成する方法

1. Feedly ボタンの作成

Feedly のボタンを作成するには、Feedly のボタン作成ページへ行き、下記の手順でコードを生成します。

  1. 好きなボタンを選択
  2. サイト URL ではなくフィードページの URL を入力。(例:https://xxxx.com/feed
  3. フィードページを入力して Enter を押すとコードが出てくるのでコピーしてボタンを表示したい場所に貼り付けます。(アイコンなどを自分で用意する場合は a タグのみ利用)

2. Feedly で画像が表示されたり、されなかったりする場合

Feedly では下記のような条件で画像が表示されているようです。優先順位などは不明ですが、width,height が 450px 以上の画像という条件を満たしていれば大丈夫かと思います。

Feedly で画像が表示される条件

  • webfeedsFeaturedVisual という class 名の img タグがあるとき
  • width,height が 450px 以上の画像があるとき
  • OGP または Twitter カードののメタデータを確認し画像があるとき

参照:10 ways to optimize your feed for feedly – Feedly Blog

RSS にアイキャッチ画像を追加する

記事に画像はないけどアイキャッチ画像は入れているという場合、デフォルトだと RSS にアイキャッチ画像は追加されないので下記を functions.php に追加します。Feedly に画像を表示させるためには RSS に追加するアイキャッチ画像のサイズは 450px 以上にします。

//functions.php

// RSSにアイキャッチ画像を追加
function rss_post_thumbnail( $content ) {
  global $post;
  if( has_post_thumbnail( $post->ID ) ) {
      $content = '' . get_the_post_thumbnail( $post->ID, 'full' ) . '' . $content;
  }
  return $content;
}
add_filter( 'the_excerpt_rss', 'rss_post_thumbnail' );
add_filter( 'the_content_feed', 'rss_post_thumbnail' );

get_the_post_thumbnail( $post->ID, 'full' )'full'の部分がサイズを指定するところなので、450px 以上に設定しているなら 'medium'でも、'large'でもサイズ指定のarray( width, height )でも大丈夫です。

RSS キャッシュで反映されないとき

WordPress コアファイルの「wp-includes > rss.php」というファイルを開いて、712~715 行目にある$MAX_AGEの数値がキャッシュ時間(デフォルトだと 12 時間)になっているのでこの数値をいじるとキャッシュ時間を変更できます(60 にすると 1 分)反映が確認できたらデフォルトの数値に戻すのを忘れないようにします。キャシュ前に Feedly ボタンを作成していた場合は、ボタンも再発行します。

class RSSCache {
  var $BASE_CACHE; // where the cache files are stored
  var $MAX_AGE = 43200;  // when are files stale, default twelve hours
  var $ERROR = ''; // accumulate error messages