WordPressでカスタム投稿タイプごとに個別のRSSフィードを作成する方法

WordPressでは、ページや投稿を超えて、コンテンツのユニークなニーズに合わせてカスタム投稿タイプを作成できます。たとえば、映画レビュー、製品、またはお客様の声のカスタム投稿タイプを作成したい場合があります。これにより、サイトをより効果的に整理し、ユーザーエクスペリエンスを向上させることができます。

さらに進んで、カスタム投稿タイプごとにRSSフィードを設定することもできます。ウェブサイト訪問者に専門的なフィードを提供することで、よりカスタマイズされた方法でコンテンツにエンゲージできるようになります。

このガイドでは、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という名前のカスタム投稿タイプのみを取得します。

代替カスタム投稿タイプRSSフィードURL

カスタム投稿タイプは、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フィードリンク用のカスタムコードの追加

次に、「アクティブ」スイッチをオンにして、スニペットを「保存/更新」してください。

このコードは、ユーザーが特定のカスタム投稿タイプアーカイブページを表示しているかどうかを自動的に検出し、購読リンクを表示します。

次に、ブロックテーマやウィジェットで使用できるショートコードが作成され、リンクを表示できます。

次に、サイトエディターを起動するために 外観 » エディター ページにアクセスする必要があります。その後、左側のメニューから テンプレート » アーカイブ オプションを選択します。

サイトエディターでアーカイブテンプレートを編集する

次に、RSSフィードリンクを表示したい場所にショートコードブロックを追加します。

理想的には、アーカイブ名のすぐ下、一番上に表示したいでしょう。

ショートコードブロックを追加する

ショートコードブロック内に、次のショートコードを追加する必要があります。

[custom_post_type_rss_link]

その後、変更を保存することを忘れないでください。

これで、カスタム投稿タイプのアーカイブページにアクセスして、RSSフィードリンクが機能していることを確認できます。

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チャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

29 CommentsLeave a Reply

  1. 単一のページでRSSフィードを作成する方法はありますか?
    例 – example.com/single-post-type/single-post-name

    これのRSSを作成するにはどうすればよいですか?

    • RSSフィードは複数の投稿を一覧表示するためのもので、RSSには投稿自体へのリンクが含まれます。個々の投稿またはページに特定のRSSフィードを作成することは推奨しません。

      管理者

  2. こんにちは、訪問者向けのRSS WordPressプラグインをご存知ですか? 大手企業がフリーランサーサイトにRSSを掲載するために独自のRSSクリエーターを持っているように、私も同じようにしたいのですが、投稿ではなくカスタム投稿タイプで…RSSプラグインをご存知ですか?

  3. 私にはまだうまくいきません。このページのコンテンツのRSSフィードを表示しようとしています。

    そして、私のすべての投稿のRSSフィードを表示します。何か考えはありますか?

    • Toriさん、こんにちは。

      ページはRSSフィードに含まれません。使用しているURLは、その特定の名前のカスタム投稿タイプがあれば機能します。

      管理者

      • ご返信ありがとうございます。リンクが表示されなかったようで申し訳ありません。そのページに表示される投稿はカスタム投稿(カスタム投稿用のブログロールのようなもの)ですが、RSSフィードを作成する方法は私にはうまくいきませんでした。何か考えや提案はありますか?

        • Toriさん、こんにちは。

          投稿がカスタム投稿タイプに属していると確信している場合は、カスタム投稿タイプで使用されている名前を見つける必要があります。これは、WordPress管理サイドバーのカスタム投稿タイプメニュー項目をクリックすることで確認できます。クリックすると、その投稿タイプのすべての投稿を一覧表示する管理ページに移動します。ここでブラウザのアドレスバーを見ると、次のようなものが表示されます。

          http://www.example.com/wp-admin/edit.php?post_type=your_post_type

          post_type= の後に表示される部分がカスタム投稿タイプ名です。これを使用して、そのカスタム投稿タイプのRSSフィードURLにアクセスする必要があります。

          http://www.example.com/feed/?post_type=your_post_type

          お役に立てば幸いです。

    • ご回答ありがとうございます。それを実行すると、このエラーメッセージが表示されます。何か考えはありますか?

      ______

      このページには、次のエラーが含まれています:

      エラー: 2行目の1列目に、ドキュメントの末尾に余分なコンテンツがあります。
      以下は、最初のエラーまでのページのレンダリングです。

  4. こんにちは、そしてありがとうございます!

    カスタム投稿タイプフィード(通常の投稿ではなく、カスタム投稿タイプのみ)にカスタムフィールドを追加したいです。

    どうすればできますか?

    どうもありがとうございます!

  5. これを機能させることはできましたが、フィードバーンするとRSSフィードの投稿が10に制限されます。投稿の数量を制限せずに、カスタム投稿タイプの完全なRSSフィードを作成する方法はありますか?

    • メインフィードは通常、最新の投稿を表示します。ユーザーがフィードリーダーを使用してフィードを取得しようとすると、古い投稿もすべて取得されます。

      管理者

  6. こんにちは。すべての投稿タイプのフィードを作成する方法を教えていただけますか?そうすれば、サイト上のどの投稿タイプであっても、単一のRSSフィードにサインアップできますか?

  7. 本当にありがとうございます。この情報を2時間も探していました。あなたの情報が見つかって嬉しいです。くそっ、分類学、どこにいたんだ?!あああ!
    今、うまくいきました

  8. 私にはうまくいきますし、あなたを愛しています。私が持っている各投稿タイプへのリンクを作成しましたが、RSSリーダーではすべて同じ名前で呼ばれています。フィードのタイトルを投稿タイプを反映するように変更する方法はありますか?

  9. タクソノミーのリライトスラグを使用している場合、それは違いを生まず、問題の原因となるでしょうか?両方の方法を試しましたが、登録済みのタクソノミータイトルまたはスラグのいずれでも機能しません。

  10. うまくいかないようです。カスタム投稿タイプアーカイブページに戻るだけです。

    ところで、カスタム投稿タイプのパーマリンクとアーカイブページを許可するためにCustom Post Permalinksプラグインを使用しています。それが問題の原因になったのでしょうか??

    Cheers!

    • おっと、すみません。私のテーマの問題でした。カスタム投稿タイプに関連するものはすべてリダイレクトするアクションコールがあったため、フィードがリダイレクトされていました。しかし、今は修正しました。

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。