RSSフィードのカスタマイズ | WordPress

WordPressのテーマ『Lightning』

『kensatools』のWebサイトはWordPressのVKのテーマ『Lightning』を利用し、ちょこちょことカスタマイズしています。『Lightning』はポピュラーなテーマでHtml&CSSやPHPなどのコードの知識がなくてもある程度設定を変更できるように仕組まれており、とても扱いやすいテーマです。

”固定ページ”、”投稿ページ”、”カスタム投稿ページ”

WordPressでWebサイトを構築する際の考え方として、表示ページは、”固定ページ”、”投稿ページ”の2つに分けられます。”固定ページ”はその名前の通り、内容が固定されており普段は変更しないページ、”投稿ページ”は、新しい記事を投稿して追加していくページでいわゆる”ブログ”部分(少し言い方が妙)にあたります。このサイトで言うと、”固定ページ”は「トップページ」や「製品紹介ページ」などで、”投稿ページ”は「検査・測定の話」にあたります。
”投稿ページ”は投稿するための機能を持っており投稿するためには便利なのですが、WordPressの仕様では”投稿ページ”は一つしか作れません。”投稿ページ”と同じような機能を追加で持たせられるようにするためには、プラグイン(WordPressの機能を拡張するもの)を利用します。
そうして作った投稿できるページを”カスタム投稿ページ”と呼びます。このサイトでは「納入実績」が”カスタム投稿ページ”です。つまり、標準の”固定ページ”、”投稿ページ”とプラグインで作った”カスタム投稿ページ”の3つがあります。

RSSフィードのカスタマイズ

ブログはRSSフィードという新規投稿を配信するための機能を持っていますが、WordPressも同じでこのサイトでは下記のURLでRSSフィードを配信しています。

  • 投稿ページ「検査・測定の話」のRSSフィード:https://www.kensatools.com/feed
  • カスタム投稿ページ「納入実績」のRSSフィード(どちらも同じ):
    https://www.kensatools.com/cases/feed
    https://www.kensatools.com/feed/?post_type=cases

”投稿ページ”、”カスタム投稿ページ”のそれぞれでフィードのURLが異なっているので”投稿ページ”のRSSフィードに”カスタム投稿ページ”のRSSフィードを追加して、まとめて配信できるように変更しました。プラグインではできないようで以下のサイトを参考にさせてもらい、子テーマの functions.php にコードを追加することで首尾よくいきました。

/* RSSフィードの統合(投稿にカスタム投稿を追加)*/

function custom_post_rss_set( $query ) {
    if ( is_feed() ) {
        $post_type = $query->get( 'post_type' );
        if ( empty( $post_type ) ) {
            $query->set( 'post_type', array( 'post', 'cases' ) );
        }
        return $query;
    }
}
add_filter( 'pre_get_posts', 'custom_post_rss_set' );

この中で’cases’というのが『納入実績』を投稿するためのカスタム投稿です。
ということで、このサイトの現在のRSSフィードは以下のようになっています。

  • 投稿ページ「検査・測定の話」のRSSフィード+カスタム投稿ページ「納入実績」のRSSフィード:
    https://www.kensatools.com/feed
  • カスタム投稿ページ「納入実績」のRSSフィード(どちらも同じ):
    https://www.kensatools.com/cases/feed
    https://www.kensatools.com/feed/?post_type=cases