Nullyのぶろぐ

仙台から東京へ転勤したエンジニアのブログ

WordPressプラグインwp_excerpt_rssを作った

Twitterのフォロワーさんがつぶやいていたので作ってみた。

wp_excerpt_rssは全文配信の長すぎる記事を抜粋で表示し、1つの画像も同時に配信します。

作った経緯

フォロワーさんの発言がもとです。

TL見ていたらぬるぽゆるぼがあったので、作らせてもらいました。

どんな事するのか

WordPressはデフォルトで全文と抜粋の両方の配信種別を持っています。

が、抜粋配信だと、画像を載せたくても載せられず、全文だとやたらと長いRSSが配信されてしまう。

じゃぁ画像1つと抜粋記事をどうにか配信出来ないか?というあれを解消することが出来ます。

ダウンロード

githubで公開しています。

使い方

  1. ダウンロードしたファイルを展開し、出てきたファイルをwp-content/plugins/にアップします。
  2. 管理画面からプラグインを有効化します。
  3. 設定画面で配信したい画像の大きさを選択します。
  4. 背伸びします。
  5. お使いのサイトのRSSフィードを見てみると、画像が出ているはずです。

    (記事に添付された画像やアイキャッチがない場合は抜粋文章だけが表示されます。)

  6. (追記)WordPressの管理画面から必ず全文配信を選択してください【重要】

画像の優先度

配信する画像には優先度があり、以下のようになっています。

  1. 投稿サムネイル(アイキャッチ画像)
  2. 記事へと添付された画像

    1. 添付された画像は順序と登録IDをもとに並び替えられ、先頭の1個を抜き出します。

今後の予定

特に決まっておらず、何か実装してほしい機能があれば@Nully宛に送ってもらえればと思います。

作った感想

言われるまでRSSの配信方法はほとんど無頓着で配信されてればいいや!ぐらいの感覚でしたが、フォロワーさんに言われて気づいた。

着目点って大事ですね!

追記

それぞれのフィードのソース(wp-includesに入ってるfeed-rss.phpとか)を見てみたら、どうももともと抜粋しか取得されていない物がありました。

feed-rss.phpだけ(URL的に言うと「http://wordpressをインストールしたURL/?feed=rss」)標準で抜粋が使用されるようになっているので、このタイプのRSSを使う方はwp-includes/feed-rss.phpの以下の該当箇所を修正することでこのプラグインを使えます。

[CC lang="xml"]

<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>

[/CC]

[CC lang="xml"]

<description><![CDATA[<?php the_content_rss() ?>]]></description>

[/CC]

the_content_rss()関数で実行されているフィルタを利用している為、このような修正が必要となります。

手間ではありますが、RSSを利用している方は自前で修正してくださいますようお願いします。