ワードプレスのRSSフィードから特定のカテゴリーを除外する方法

ワードプレスのRSSフィードから特定のカテゴリーを除外する方法について解説します。

RSSフィードに流したくない記事がある

ブログ運営で、特定のカテゴリーの記事をRSSフィードに流したくないというケースが出てくる可能性があります。

私の場合は、ブログランキング(にほんブログ村や人気ブログランキングなど)が関係しています。ブログランキングではRSSによって記事が収集される仕組みですが、自分のブログが所属しているジャンルとは関係のないカテゴリーの記事を収集させたくないと思ったからです。

このRSSフィードから特定のカテゴリーを除外する方法は数行のコードを追加するだけで簡単に実現できます。

RSSフィードから特定のカテゴリーを除外する方法

それでは、以下、RSSフィードから特定のカテゴリーを除外する方法について解説します。

編集するファイル

今回編集するファイルはfunctions.phpになります。

たいていのテーマでは、子テーマにfunctions.phpが用意されているはずなので、親テーマではなく子テーマのfunctions.phpを編集するようにしましょう。

子テーマにない場合は親テーマのfunctions.phpを編集します。

以下のコードをfunctions.phpの一番下に追加します。

除外したいカテゴリーが1つの場合

除外したいカテゴリーが1つの場合のコードは以下になります。

/////////////////////////
//RSSカテゴリー除外
/////////////////////////

function rssfilter($query) {
 if ($query->is_feed) {
 $query->set('cat','-1');
 }
 return $query;
}
add_filter('pre_get_posts','rssfilter');

カテゴリーIDが1の記事を除外するという意味です。

除外したいカテゴリーが複数の場合

除外したいカテゴリーが複数の場合のコードは以下になります。

/////////////////////////
//RSSカテゴリー除外
/////////////////////////

function rssfilter($query) {
 if ($query->is_feed) {
 $query->set('cat','-1, -2, -3, -4, -5');
 }
 return $query;
}
add_filter('pre_get_posts','rssfilter');

カテゴリーIDが1、2、3、4、5の記事を除外するという意味です。

カテゴリーIDの調べ方

管理画面の「投稿」→「カテゴリー」で、該当のカテゴリーにカーソルを合わせたときに、画面下に表示されるURLの”category&tag_ID=●●”の部分の数字がカテゴリーIDになります。

確認

サイトURL/rss(【例】https://○○○.com/rss)でRSSが確認できるので、該当のカテゴリーが消えていることを確認しましょう。

おわりに

以上、ワードプレスのRSSフィードから特定のカテゴリーを除外する方法について解説でした。

何らかの理由で特定のカテゴリーの記事をRSSフィードに流したくない場合は参考にしてみてください。