ワードプレスの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の記事を除外するという意味です。
管理画面の「投稿」→「カテゴリー」で、該当のカテゴリーにカーソルを合わせたときに、画面下に表示されるURLの”category&tag_ID=●●”の部分の数字がカテゴリーIDになります。
確認
サイトURL/rss(【例】https://○○○.com/rss)でRSSが確認できるので、該当のカテゴリーが消えていることを確認しましょう。
おわりに
以上、ワードプレスのRSSフィードから特定のカテゴリーを除外する方法について解説でした。
何らかの理由で特定のカテゴリーの記事をRSSフィードに流したくない場合は参考にしてみてください。