WordPressで特定カテゴリだけRSSから除外してみた

WordPressで特定カテゴリだけRSSから除外してみた

おつかれさまです。

最近、他媒体からも記事を提供できるようになって、サイトも色々と改造中です。

記事配信はどこもRSSを使っているので、基本的には更新した記事は全てRSSから出力されてしまいます。

そこで困るのが、他社提供の記事などを更新した場合です。

その場合もRSSで出力されてしまうので、こちらが記事を提供している場合は、他社記事も配信されてしまうことになります。

そうならない為には、「特定カテゴリー」だけRSS配信から除外することです。自分はニュースカテゴリだけ他社提供なので、ニュースカテゴリーをRSSから除外したかったのです。

やってみたら簡単にできました。ソースをのっけておきます。

//特定カテゴリ除外
function rssfilter($query) {
if ($query->is_feed) {
$query->set('cat','-1');
}
return $query;
}
add_filter('pre_get_posts','rssfilter');

 

これを、function.php に貼りつけてください。$query->set('cat','-1'); の1の数字の部分に除外したいカテゴリーIDを入力してください。

カテゴリーIDは、管理画面からカテゴリーに入って、任意のカテゴリーの上にカーソルを動かすと、下に文字列が表示されてtag_id=[数字]の部分がカテゴリーIDです。

function.phpを更新後、問題がなかったらさっそくRSSを確認してみてください。

URLのすぐ後に/rssと入力すれば、RSSが確認できます。

そのカテゴリーだけが綺麗に消えていたら成功です。

それ以前にもしRSSなどがうまく表示されてなくて、何かのエラーなどがあった場合は、RSS自体がうまく設定できていないので、また別問題になります。

まずは自分のサイトできちんとRSSが動作しているか、確認してみてくださいね☺

コメント

タイトルとURLをコピーしました