[WordPress]カテゴリ、タグアーカイブのRSSフィードのURLは関数で表示した方が良い

  • 更新日:
  • 公開日:

WordPressでカテゴリー、タグアーカイブのRSSフィードURLは関数で表示した方が良い、という内容です。

カテゴリー、タグアーカイブのRSSフィードのURLは直打ちで表示させることができます。例えば当ブログの「WordPress」カテゴリーのRSSフィードURLは以下のようになります。

// 本来のURL
https://increment-log.com/category/wordpress/

// RSSフィード版
https://increment-log.com/category/wordpress/feed/

アーカイブページのURLの末尾に「feed」と付け加えるだけで済みます。ただ、もしパーマリンクを別の設定(とくにデフォルト設定)に変更した場合、この直打ちURLではアクセスできなくなります。

パーマリンク変更は頻繁に行ったりしませんが、少しでもバグを減らすならRSSフィードURLは関数を使って表示した方が良いです。関数を使えば設定されたパーマリンクに合致したURLを取得できます。

RSSフィードURLを取得するスニペット

カテゴリー、タグアーカイブそれぞれのフィードURLはget_category_feed_link()get_tag_feed_link()で取得できます。引数にカテゴリー、タグのIDを指定して使います。(第2引数はRSSフィードのタイプを指定します。デフォルトは「rss2」になっており、基本的にこれで大丈夫です)

以下は、アーカイブページでURLを取得する場合のスニペットです。テンプレートのarchive.php、category.php、tag.phpなら貼り付けるだけで使用できます。

<!-- カテゴリーアーカイブでの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>

関数を使用しなくても、例えば「http://ドメイン/?feed=rss2&cat=37」のようにURLを指定するとパーマリンク変更に耐えますが、URLの統一性から考えると関数の方が良さそうです。

参考ページ:

Function Reference/get category feed link « WordPress Codex

get_tag_feed_link:WordPress私的マニュアル

書いた人

Symbol Mark

Ryoichi(しつ)

除菌ティッシュを買い込んで使いきれずによく乾かす人。

療養目的で退職し、どうやって生きていくか模索中。最近は勉強目的でLaravelやVue.js弄ったり、趣味で音で遊んでます。

※2019年10月16日現在ブログリニューアル中です。崩れなどが発生していたらすみません。

うぇぶ: @s_ryone