WordPress Logo

ワードプレスで構築しているサイトで、各カテゴリー毎のRSSを出力する方法を紹介します。

まずは基本的なRSSの出力方法を復習しましょう。

ワードプレスのRSSフィードの配信方法

普段ワードプレスでRSSフィードの配信をする際は、テンプレートタグを使って該当するURLを出力します。
配信したいフィードの形式によって以下の4つの中から指定することになります。

RDF/RSS 1.0 フィード
<?php bloginfo('rdf_url'); ?>
RSS 0.92 フィード
<?php bloginfo('rss_url'); ?>
RSS 2.0 フィード
<?php bloginfo('rss2_url'); ?>
Atom フィード
<?php bloginfo('atom_url'); ?>

通常は「RSS 2.0」の bloginfo('rss2_url');を使うのが一般的ですね。

なお出力されるRSSフィードのURLは、パーマリンク設定がデフォルトの場合は以下のようになります。

  • http://example.com/?feed=rss
  • http://example.com/?feed=rss2
  • http://example.com/?feed=rdf
  • http://example.com/?feed=atom

デフォルト以外のパーマリンクでカスタム設定している場合は次のようなURLで出力されているはずです。

  • http://example.com/feed/
  • http://example.com/feed/rss/
  • http://example.com/feed/rss2/
  • http://example.com/feed/rdf/
  • http://example.com/feed/atom/

ここまでが基本のRSSフィードの配信方法です。

任意のカテゴリー毎のRSSフィードを出力する方法

さて。ここからが本題です。
任意のカテゴリーのRSSフィードを配信する方法ですが、実は、WordPressでは標準機能でカテゴリー別のRSSのURLを生成できるようになっています。

もちろんテンプレートタグであらかじめ用意されていて、簡単に出力可能。

それが get_category_feed_link( $cat_id, $feed ); です。
タグの場合でも同様に get_tag_feed_link( $tag_id, $feed ); という関数が用意されています。

第1引数にカテゴリーID、またはカテゴリーNAMEを指定して使います。
ちなみに第2引数ではRSSフィードのタイプを指定することができます。こちら、デフォルトでは「rss2」、他に「atom」を指定できますが、基本的には初期状態のままでよく、わざわざ指定する必要はないでしょう。

具体的には次のようなコードで出力することになりますね。

カテゴリーアーカイブでのURL取得
<a href="<?php echo get_category_feed_link( get_query_var('cat') ); ?>" target="_blank">カテゴリーRSS</a>
タグアーカイブでのURL取得
<a href="<?php echo get_tag_feed_link( get_query_var('tag_id') ); ?>" target="_blank">タグRSS</a>

例えばカテゴリー名が「ニュース」の場合、出力されるRSSフィードのURLは次のようになります。

http://example.com/archives/category/ニュース

http://example.com/archives/category/ニュース/feed

パーマリンク設定がデフォルトの場合は、カテゴリーIDの前に「feed=rss2」が挿入される形で、以下のようになります。

http://example.com/?cat=13

http://example.com/?feed=rss2&cat=13

他のブログサイトでは直接URLを記述する方法を紹介しているケースが多いですが、テンプレートタグを使うほうがエラーも少なく便利です。
あらかじめ用意されている機能ですので覚えておきましょう。