ワードプレスで構築しているサイトで、各カテゴリー毎の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を記述する方法を紹介しているケースが多いですが、テンプレートタグを使うほうがエラーも少なく便利です。
あらかじめ用意されている機能ですので覚えておきましょう。