「RSS Footer」が開発終了したならfunctions.phpで同じことやればいいじゃない
RSSの文末に署名を追加することのできるWordPressプラグイン「RSS Footer」が、先日開発終了となりました。同機能は同じ開発元から出ている「WordPress SEO by Yoast」に統合されたわけですが、ぶっちゃけた話、別にこの程度のことはプラグインを使うまでもなく実装することができます。
どうせならプラグインを卒業して、サクリと実装しちゃいませんか?

「RSS Footer」は、WordPressが出力するRSSにオリジナルの記事へのリンクと署名を挿入することのできるプラグインとして、割りと多くの人が利用しています。アクティブなインストール数で言えば40000以上。
最近の無断転載、記事盗用はRSSから抜き出しているケースが多いので、「オリジナルはコレだよー」と示しておくメリットってのは少なからずありますから、自分のコンテンツを守りたいと思う人にとって、インストール・有効化するだけのプラグインは、非常に重宝したのではないかと思います。
しかし、そんな「RSS Footer」は開発終了し、機能的には別のプラグインに統合されるということになりました。
統合先となったプラグイン「WordPress SEO by Yoast」は、WordPressのSEO対策プラグインとして知名度もありますし、実際人気のプラグインです。

同プラグインを既に利用しているということであれば、今回の統合自体は別に問題ないんでしょうけど、別のSEO系プラグインを利用していたりすると、この機能統合は正直困りますよね。
わざわざ署名ごときでプラグインを新規でインストールして設定したり、あるいは既存の別プラグインから乗り換えて、設定をやりなおして・・・といった手間は、はっきり言って面倒くさいの一言につきます。
それなら、いっそのことプラグインは利用せずに、同じことをできるようにしたらいいじゃないっていうのが今回の話。
そう。functions.php
を編集して、RSSに署名もオリジナル記事へのリンクも、ついでにサムネイルも表示させてしまえばいいんです。
// フィードにコンテンツを追加 | |
function do_post_contents_feeds($content) { | |
global $post; | |
if(has_post_thumbnail($post->ID)) { | |
$content = '<div>' .get_the_post_thumbnail($post->ID). '</div>' .$content. '<div><a href="' .get_permalink($post->ID).'" target="_blank">この記事の続きを読む</a></div><div><a href="' .get_permalink($post->ID). '" target="_blank">' .get_the_title($post->ID). '</a> は <a href="http://example.jp/" target="_blank">ブログタイトル</a> の記事です</div>'; | |
} | |
return $content; | |
} | |
add_filter('the_excerpt_rss', 'do_post_contents_feeds'); | |
add_filter('the_content_feed', 'do_post_contents_feeds'); |
基本的にはこういうコードをfunctions.php
に加えてやればOK。署名のリンクとブログタイトルは自分のものに置き換えるようにしましょう。
これで記事のサムネイルと、オリジナル記事へのリンク、署名がRSSフィードに追加されるようになります。
上のコードは基本的に抜粋表示を考えてのものなので、全文表示ではちょっと妙な感じになるかもしれません。その場合は一部改変すればOKなので、勉強がてらいじってみてください。
プラグインレスのカスタマイズも、慣れてくれば楽しいもんですよ。