おつかれさまです。
最近、他媒体からも記事を提供できるようになって、サイトも色々と改造中です。
記事配信はどこも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が動作しているか、確認してみてくださいね☺
コメント