WordPressでカスタム投稿タイプを利用しているページにて、RSSを配信したいということになりました。
単純にURLにfeed
を付ければよいというわけではないのです。
WordPress
アーカイブの活用
他人がコーディングしたPHPの内容など、詳細までは分からないですよね。。
幸いなことに、WordPress関係の情報はネット上にたくさんあるので。ヒントが多くて助かります。
基本的な考え方は、URLに「/feed/
」を付加すればよいわけです。
それで何も出てこないようなら、URLを間違えているか、設定されていないか、でしょう。
RSS配信されていない?
当ブログはカスタム投稿タイプを利用していないので話は単純なのです。
ブログのRSSフィードは、以下のようなURLで確認できます。
https://wnkhs.net/feed/
出力される内容は、WordPressの表示設定にいくつか項目があります。
カスタム投稿タイプであっても考え方は同じです。
今回問題になったのは、どなたか(他人)が作成されたサイトでのことです。
カスタム投稿タイプが複数あり、それぞれで設定内容は微妙に異なっていました。
URLに「feed」を付加してもRSSを取得できない事象ではあるものの、内容が異なっていました。
- 空っぽの状態(原因: 対象URLが違う)
- 404になる(原因: 設定が入っていない)
それぞれ、設定を確認すれば分かるので、順に見ていきましょう。
アーカイブを確認
カスタム投稿タイプの設定状況を確認します。
とにかくここです。
後ろ側の設定が合ってさえいれば、あとは表側で見方をどうするかの話だけです。
確認対象ファイルは「functions.php
」です。
テーマファイルエディターで確認です。
「register_post_type
」でカスタム投稿タイプを作成していると思いますので、アーカイブを有効化しているか、パーマリンクを設定しているかを確認です。
まず見る設定値は「has_archive
」です。
trueならアーカイブありです。RSS配信される設定なので、URLを確認しましょう。アーカイブページのURLでRSS配信されます。パーマリンク設定がどうなっているかも確認してください。特定のURLで見せたいなどあれば、301転送も選択肢です。
falseだとアーカイブがないので、RSSも配信されません。設定を変更しましょう。trueにするということです。
設定変更後にやること
「has_archive
」の設定をfalseからtrueに変更しただけでは、アーカイブページは作成されません。
WordPressの設定を更新する必要があります。
パーマリンク設定で何も変えなくてよいので、変更を保存します。
これで設定が更新され、アーカイブページが作成されます。
同時に、feedページが見られるようになるのです。
最終確認
正しいURLで表示確認してくださいね。
アーカイブページに「/feed/
」を付加です。
何もしていなければ、「/archive/指定したスラッグ/feed/
」とかです。
ご意見やご感想などお聞かせください! コメント機能です。