ワードプレスのRSSフィードから特定の投稿を除外する方法について解説します。
RSSフィードに流したくない記事がある
ブログ運営を続けていると、以下のような、特定の投稿をRSSフィードに流したくないというケースが出てくる可能性があります。
- サイト運営メモ
- まとめ記事
- 再利用記事
このRSSフィードから特定の投稿を除外する方法は数行のコードを追加するだけで簡単に実現できます。
RSSフィードから特定の投稿を除外する方法
それでは、以下、RSSフィードから特定の投稿を除外する方法について解説します。
編集するファイル
今回編集するファイルはfunctions.phpになります。
たいていのテーマでは、子テーマにfunctions.phpが用意されているはずなので、親テーマではなく子テーマのfunctions.phpを編集するようにしましょう。
子テーマにない場合は親テーマのfunctions.phpを編集します。
以下のコードをfunctions.phpの一番下に追加します。
除外したい投稿が1つの場合
除外したい投稿が1つの場合のコードは以下になります。
/////////////////////////
//RSS投稿ID除外
/////////////////////////
function rssfilter($query) {
if ($query->is_feed) {
$query->set('post__not_in', array(1));
}
return $query;
}
add_filter('pre_get_posts','rssfilter');
投稿IDが1の記事を除外するという意味です。
除外したい投稿が複数の場合
除外したい投稿が複数の場合のコードは以下になります。
/////////////////////////
//RSS投稿ID除外
/////////////////////////
function rssfilter($query) {
if ($query->is_feed) {
$query->set('post__not_in', array(1, 2, 3, 4, 5));
}
return $query;
}
add_filter('pre_get_posts','rssfilter');
投稿IDが1、2、3、4、5の記事を除外するという意味です。
管理画面の「投稿一覧」で、該当の投稿にカーソルを合わせたときに、画面下に表示されるURLの”post=●●”の部分の数字が投稿IDになります。
応用
特定の投稿IDに加えて、特定のカテゴリーやタグも除隊したい場合のコードは以下になります。
/////////////////////////
//RSS投稿ID、カテゴリー、タグ除外
/////////////////////////
function rssfilter($query) {
if ($query->is_feed) {
// 投稿IDを除外
$query->set('post__not_in', array(1, 2, 3, 4, 5));
// カテゴリーを除外
$query->set('category__not_in', array(10, 20, 30));
// タグを除外
$query->set('tag__not_in', array(100, 200, 300));
}
return $query;
}
add_filter('pre_get_posts','rssfilter');
投稿IDが1、2、3、4、5、カテゴリーIDが10、20、30、タグIDが100、200、300の記事を除外するという意味です。
確認
サイトURL/rss(【例】https://○○○.com/rss)でRSSが確認できるので、該当の投稿が消えていることを確認しましょう。
おわりに
以上、ワードプレスのRSSフィードから特定の投稿を除外する方法について解説でした。
何らかの理由で特定の記事をRSSフィードに流したくない場合は参考にしてみてください。






