WordPressでは、ページや投稿を超えて、コンテンツのユニークなニーズに合わせてカスタム投稿タイプを作成できます。たとえば、映画レビュー、製品、またはお客様の声のカスタム投稿タイプを作成したい場合があります。これにより、サイトをより効果的に整理し、ユーザーエクスペリエンスを向上させることができます。
さらに進んで、カスタム投稿タイプごとにRSSフィードを設定することもできます。ウェブサイト訪問者に専門的なフィードを提供することで、よりカスタマイズされた方法でコンテンツにエンゲージできるようになります。
このガイドでは、WordPressでカスタム投稿タイプ用の個別のRSSフィードを設定するプロセスを説明します。始めましょう!

WordPressでカスタム投稿タイプごとに個別のRSSフィードを作成する
デフォルトでは、WordPressはウェブサイト用にいくつかのRSSフィードを生成します。
例えば、最近のすべてのブログ投稿がサイトのメインRSSフィードに表示されます。このフィードには、ドメイン名の末尾に/feed/を追加することでアクセスできます。例:
https://example.com/feed/
ほとんどの初心者が知らないのは、WordPressは各アーカイブページに対して個別のRSSフィードを生成しているということです。
例えば、カテゴリ、タグ、著者、カスタム投稿タイプごとに個別のRSSフィードがあります。
ウェブサイトに movies というカスタム投稿タイプがあるとします。投稿タイプアーカイブページにアクセスすることで、その投稿タイプで作成されたすべてのコンテンツを表示できます。
https://example.com/movies

RSSフィードを表示するには、カスタム投稿タイプアーカイブURLの次に「/feed/」を追加するだけです。
https://example.com/movies/feed/

または、投稿タイプパラメータをメインのWordPress RSSフィードに追加することでフィードを表示することもできます。例:
https://example.com/feed/?post_type=movies
このURLは、moviesという名前のカスタム投稿タイプのみを取得します。

カスタム投稿タイプは、Glossary および WordPress hosting セクションに使用しています。どちらもRSSフィードが有効になっており、これらの特定のセクションを購読したいユーザーが利用できます。
カスタム投稿タイプRSSフィードへのリンクを追加する
カスタム投稿タイプのRSSフィードにWordPressウェブサイトでアクセスする方法がわかったので、そのURLを使用してカスタム投稿タイプフィードへのリンクを作成できます。
例えば、カスタム投稿タイプアーカイブページにアイコンやプレーンテキストリンクを表示して、訪問者がそれらの投稿を簡単に購読できるようにしたい場合があります。
1.ブロックテーマにカスタム投稿タイプのRSSフィードへのリンクを追加する
フルサイト編集をサポートするブロックテーマを使用している場合は、リンクを追加する方法は次のとおりです。
まず、カスタムコードスニペットをWordPressウェブサイトに、WPCodeプラグインを使用して追加する必要があります。
注意: このコードスニペットを追加するために使用できるWPCodeの無料バージョンもあります。
まず、WPCodeプラグインをインストールして有効化し、コードスニペット » + 新規追加スニペットページに移動します。

ここから、「カスタムコードを追加(新規スニペット)」オプションの下にある「スニペットを使用」ボタンをクリックします。
次の画面で、コードスニペットの名前を入力します。これは、スニペットを識別するのに役立つものであれば何でも構いません。その後、コードタイプの下で「PHPスニペット」を選択します。
最後に、以下のコードをコードプレビューボックスに追加します。
if (is_post_type_archive('movies')) {
$post_type = get_queried_object();
// Get RSS Feed URL
$rss_feed_url = get_post_type_archive_feed_link($post_type->name);
// Output the shortcode content
return '<p>Subscribe to <a href="' . esc_url($rss_feed_url) . '">' . $post_type->label . '</a></p>';
}
}
// Register the shortcode
add_shortcode('custom_post_type_rss_link', 'custom_post_type_rss_link_shortcode');
「movies」をカスタム投稿の名前に置き換えることを忘れないでください。
WPCodeプラグインのスニペットとして表示すると、次のようになります。

次に、「アクティブ」スイッチをオンにして、スニペットを「保存/更新」してください。
このコードは、ユーザーが特定のカスタム投稿タイプアーカイブページを表示しているかどうかを自動的に検出し、購読リンクを表示します。
次に、ブロックテーマやウィジェットで使用できるショートコードが作成され、リンクを表示できます。
次に、サイトエディターを起動するために 外観 » エディター ページにアクセスする必要があります。その後、左側のメニューから テンプレート » アーカイブ オプションを選択します。

次に、RSSフィードリンクを表示したい場所にショートコードブロックを追加します。
理想的には、アーカイブ名のすぐ下、一番上に表示したいでしょう。

ショートコードブロック内に、次のショートコードを追加する必要があります。
[custom_post_type_rss_link]
その後、変更を保存することを忘れないでください。
これで、カスタム投稿タイプのアーカイブページにアクセスして、RSSフィードリンクが機能していることを確認できます。

2. カスタム投稿タイプRSSフィードへのリンクをクラシックテーマに追加する
これを行う最も簡単な方法は、カスタム投稿タイプごとにWordPressテーマに個別のテンプレートを作成することです。
FTPクライアントを 使用して WordPressウェブサイトに接続し、/wp-content/themes/your-current-theme/ フォルダに移動します。
カスタム投稿タイプがmoviesである場合、WordPressのテーマフォルダにarchive-{post_type}.phpファイルを作成できます。
その後、テーマのarchive.phpテンプレートからコンテンツをコピーして、新しいテンプレートのカスタマイズを開始できます。
次のコードを使用して、投稿タイプアーカイブフィードにプレーンなHTMLリンクを簡単に追加できます。
<p><strong>Subscribe to: <a href="https://example.com/movies/feed/">Movies</a></strong></p>
投稿タイプフィードURLにURLを変更することを忘れないでください。
さて、このコードの問題は、その特定の投稿タイプのためだけに新しいテンプレートファイルを作成する必要があることです。
次の方法では、すべてのアーカイブページに対して投稿タイプRSSフィードリンクを動的に生成できます。
次のコードをテーマのarchive.phpテンプレートファイルに追加するだけです。
<?php if ( is_post_type_archive() ) {
$post_type = get_post_type( get_queried_object_id() );?>
<p><strong>Subscribe to: <a href="<?php echo get_post_type_archive_link( $post_type ); ?>feed/"><?php post_type_archive_title(); ?></a></strong></p>
<?php } ?>
このコードは、投稿タイプアーカイブページのタイトルの下にリンクを追加するだけで、ユーザーにこの特定のコンテンツタイプを購読するように促します。

ボーナスヒント:カスタム投稿タイプをメインRSSフィードに追加する
カスタム投稿タイプのRSSフィードはフィードリーダーで見つけにくく、ほとんどのユーザーはサイトのメインRSSフィードを簡単に見つけることができます。
これは、メインのRSSフィードを購読しているユーザーが、カスタム投稿タイプで公開したコンテンツを見逃してしまうことを意味します。
カスタム投稿タイプのコンテンツをサイトのメインRSSフィードに表示させることで、これを簡単に修正できます。
そのためには、カスタムコードスニペットをWordPressブログに追加する必要があります。WordPressにカスタムコードスニペットを追加するには、WPCodeの使用をお勧めします。
まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関する記事をご覧ください。
プラグインがアクティブになったら、WordPress管理サイドバーからコードスニペット » + スニペットを追加ページにアクセスします。
ここから、「カスタムコードを追加(新規スニペット)」オプションの下にある「スニペットを使用」ボタンをクリックする必要があります。

次に、「カスタムスニペットを作成」ページにリダイレクトされます。ここで、コードスニペットの名前を入力することから始めることができます。
この名前はどこにも表示されず、識別目的でのみ使用されます。
次に、右側の「コードタイプ」ドロップダウンメニューで「PHPスニペット」オプションを選択します。

その後、カスタムコードスニペットを追加する準備が整います。
コードプレビューボックスに以下のコードをコピー&ペーストするだけです。
function myfeed_request($qv) {
if (isset($qv['feed']) && !isset($qv['post_type']))
$qv['post_type'] = array('post', 'movies', 'books');
return $qv;
}
add_filter('request', 'myfeed_request');
コードを追加した後、コードの「[post_type]」と書かれている場所の隣にカスタム投稿タイプの名前を入力します。私たちの例では、「post」、「movies」、「books」があります。
このカスタム投稿タイプは、メインのWordPress RSSフィードに追加されます。

次に、ページの上部までスクロールし、「非アクティブ」スイッチを「アクティブ」に切り替える必要があります。
最後に、「スニペットを保存」ボタンをクリックして、コードをWordPressウェブサイトに保存して実行することを忘れないでください。

これで完了です。カスタム投稿タイプのコンテンツがサイトのメインRSSフィードに追加されます。
この記事が、カスタム投稿タイプ用の個別のRSSフィードをWordPressで作成する方法を学ぶのに役立ったことを願っています。また、WordPressのRSSフィードを最適化する方法に関するチュートリアルや、WordPressのRSSプラグインのベストセレクションもご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

Buddika Wijerathena
単一のページでRSSフィードを作成する方法はありますか?
例 – example.com/single-post-type/single-post-name
これのRSSを作成するにはどうすればよいですか?
WPBeginnerサポート
RSSフィードは複数の投稿を一覧表示するためのもので、RSSには投稿自体へのリンクが含まれます。個々の投稿またはページに特定のRSSフィードを作成することは推奨しません。
管理者
ミラノ
こんにちは、訪問者向けのRSS WordPressプラグインをご存知ですか? 大手企業がフリーランサーサイトにRSSを掲載するために独自のRSSクリエーターを持っているように、私も同じようにしたいのですが、投稿ではなくカスタム投稿タイプで…RSSプラグインをご存知ですか?
Tori
私にはまだうまくいきません。このページのコンテンツのRSSフィードを表示しようとしています。
そして、私のすべての投稿のRSSフィードを表示します。何か考えはありますか?
WPBeginnerサポート
Toriさん、こんにちは。
ページはRSSフィードに含まれません。使用しているURLは、その特定の名前のカスタム投稿タイプがあれば機能します。
管理者
Tori
ご返信ありがとうございます。リンクが表示されなかったようで申し訳ありません。そのページに表示される投稿はカスタム投稿(カスタム投稿用のブログロールのようなもの)ですが、RSSフィードを作成する方法は私にはうまくいきませんでした。何か考えや提案はありますか?
WPBeginnerサポート
Toriさん、こんにちは。
投稿がカスタム投稿タイプに属していると確信している場合は、カスタム投稿タイプで使用されている名前を見つける必要があります。これは、WordPress管理サイドバーのカスタム投稿タイプメニュー項目をクリックすることで確認できます。クリックすると、その投稿タイプのすべての投稿を一覧表示する管理ページに移動します。ここでブラウザのアドレスバーを見ると、次のようなものが表示されます。
http://www.example.com/wp-admin/edit.php?post_type=your_post_typepost_type= の後に表示される部分がカスタム投稿タイプ名です。これを使用して、そのカスタム投稿タイプのRSSフィードURLにアクセスする必要があります。
http://www.example.com/feed/?post_type=your_post_typeお役に立てば幸いです。
Tori
ご回答ありがとうございます。それを実行すると、このエラーメッセージが表示されます。何か考えはありますか?
______
このページには、次のエラーが含まれています:
エラー: 2行目の1列目に、ドキュメントの末尾に余分なコンテンツがあります。
以下は、最初のエラーまでのページのレンダリングです。
WPBeginnerサポート
Toriさん、こんにちは。
RSSフィードのエラーの修正方法については、RSSフィードのエラーを修正する方法をご覧ください。
管理者
セドリック・シャルル
こんにちは、そしてありがとうございます!
カスタム投稿タイプフィード(通常の投稿ではなく、カスタム投稿タイプのみ)にカスタムフィールドを追加したいです。
どうすればできますか?
どうもありがとうございます!
Toni
素晴らしいヒントです!ほとんどゼロから作るところでした!ありがとうございます!
erika
Thank you a lot! your website helped me so much
mike
これを機能させることはできましたが、フィードバーンするとRSSフィードの投稿が10に制限されます。投稿の数量を制限せずに、カスタム投稿タイプの完全なRSSフィードを作成する方法はありますか?
編集スタッフ
メインフィードは通常、最新の投稿を表示します。ユーザーがフィードリーダーを使用してフィードを取得しようとすると、古い投稿もすべて取得されます。
管理者
アンドリュー
こんにちは。すべての投稿タイプのフィードを作成する方法を教えていただけますか?そうすれば、サイト上のどの投稿タイプであっても、単一のRSSフィードにサインアップできますか?
編集スタッフ
カスタム投稿タイプをメインのRSSフィードに含めることができます。
https://www.wpbeginner.com/wp-tutorials/how-to-add-custom-post-types-to-your-main-wordpress-rss-feed/
管理者
Rems
本当にありがとうございます。この情報を2時間も探していました。あなたの情報が見つかって嬉しいです。くそっ、分類学、どこにいたんだ?!あああ!
今、うまくいきました
gabearnold
ありがとうございます!これは簡単で、知らなかった便利なヒントです。
AlexAmelines
私にはうまくいきますし、あなたを愛しています。私が持っている各投稿タイプへのリンクを作成しましたが、RSSリーダーではすべて同じ名前で呼ばれています。フィードのタイトルを投稿タイプを反映するように変更する方法はありますか?
Alan
タクソノミーのリライトスラグを使用している場合、それは違いを生まず、問題の原因となるでしょうか?両方の方法を試しましたが、登録済みのタクソノミータイトルまたはスラグのいずれでも機能しません。
Alan
プラグインはありません。しかし、カスタム投稿タイプとタクソノミーを次のようにURL化する方法を見つけられていません…
http://www.mysite.com/custompost/taxonomy/taxonmyterm
ただ…
http://www.mysite.com/taxonomy/taxonomyterm
これに影響はありますか?
Alan
これはタクソノミーでは機能しないようです。
編集スタッフ
例で気づいたかもしれませんが、ジャンルはタクソノミーであり、機能するはずです。
管理者
Alan
はい、それを自分のタクソノミーに置き換え、等号、そして私のタクソノミー用語の1つを続けましたが、カスタム投稿タイプのフィードが表示されるだけでした。
Alan
コンテンツ投稿タイプのフィードURLにリダイレクトされます。
編集スタッフ
これをリダイレクトするためにプラグインを使用していますか?これは起こるべきではありませんが…
Alan
プラグインはありません。しかし、カスタム投稿タイプとタクソノミーを次のようにURL化する方法を見つけられていません…
http://www.mysite.com/custompost/taxonomy/taxonmyterm
ただ…
http://www.mysite.com/taxonomy/taxonomyterm
これに影響はありますか?
Aldi
うまくいかないようです。カスタム投稿タイプアーカイブページに戻るだけです。
ところで、カスタム投稿タイプのパーマリンクとアーカイブページを許可するためにCustom Post Permalinksプラグインを使用しています。それが問題の原因になったのでしょうか??
Cheers!
Aldi
おっと、すみません。私のテーマの問題でした。カスタム投稿タイプに関連するものはすべてリダイレクトするアクションコールがあったため、フィードがリダイレクトされていました。しかし、今は修正しました。