[WordPress]RSSフィードを使って、サブディレクトリにあるブログの更新情報をトップページにリアルタイムで表示する方法

2018.03.08

なにかと使えるWordPress(ワードプレス)。
最近、メインサイトのサブディレクトリ(または別ドメイン or サブドメインでも可)にもう1つブログを入れて、そのブログを更新するたびにメインサイトのトップページにある新着記事一覧に自動で表示させる、しかもリアルタイムで。という案件があったりするので備忘録も兼ねて投稿したいと思います。
便宜上、表示させたい場所(新着記事一覧)があるページを【A】、更新するブログを【B】と呼びます。

[WordPress]RSSフィードを使って、サブディレクトリにあるブログの更新情報をトップページにリアルタイムで表示する方法

【B】のブログを更新すると、【A】の新着記事一覧に自動表示させます。ブログのRSSフィード機能を利用しますが、普通に設定するとWordPress独自のキャッシュの影響でリアルタイム表示が出来ません。そこもリアルタイムに反映できる方法でやってみたいと思います。
それでもわずか3ステップなのでとても簡単です。是非やってみて下さい。

(1/3)ブログ【B】のRSSフィードを取得

ブログ【B】のページで右クリックして「ページのソースを表示」して下さい。そうするとfeed/がついたURLがあるので、このURLをどこかにコピーしておいてください。

RSSフィードのURLを取得する

↑この画像で言うと、『https://www.fujimura-art.com/blog/feed/』となります(弊社関連サイト)。

(2/3)表示させたい場所【A】にコードを挿入

sectionheader classdl, dtなどのcss要素は独自のをお使い下さい。

ソースコードの説明

〇 5行目

'https://●●●.com/blog/?feed/' 部分には、ブログ【B】のRSSを挿入してください。

〇 11~12行目

何件の新着記事を【A】に表示するかの数字です。ここでは4件表示。

(3/3)リアルタイム反映の設定

WordPressのタイムゾーンは、グリニッジ標準時(イギリスにある経度0度のグリニッジ天文台に由来。理科?で習ったやつ)に設定されており、独自キャッシュで管理もされているようです。ですので強制的にその時差を修正します。2工程に分けて。

(1)ブログ【B】のみ:wp-setting.phpの編集

ブログ【B】を入れたサブディレクトリにある、wp-setting.phpを修正します。

  date_default_timezone_set( ‘UTC’ );

UTCがグリニッジ標準時なので、そこに日本との時差である9時間を足します。

  date_default_timezone_set( ‘UTC+9’ );

(2)【A】とブログ【B】の両方:wp-includes/feed.phpの編集

【A】のWordPressとブログ【B】を入れたサブディレクトリにある、wp-includesフォルダ内のfeed.phpを修正します。

  wp_feed_cache_transient_lifetime’, 12 * HOUR_IN_SECONDS, $url

12時間設定になっているので、ここを1秒に変更します。

  wp_feed_cache_transient_lifetime’, 1, $url


これでリアルタイム反映の設定は終了ですが、WordPressのバージョンが上がると元に戻るらしいので、バージョンアップするごとに設定を変更して下さい。

まとめ

新着記事をトップページや、それこそ別ドメインであっても更新案内をしていくことでより見られる可能性も広がります。更新したからにはより見てもらわないともったいないですもんね!

ただし、RSSフィードも時代の流れで色々変わったりするので、この方法もいつまで使えるか分かりません…。またその時が来たらここも更新したいと思います。

WordPressやIT関連の本を買って勉強をしていますが、ネット検索で答えが出てくるこの時代は最高ですね。そういうわけで、このRSSフィードを利用してWordPressのサブディレクトリにあるブログ新着記事をリアルタイム反映させる方法も、こちらの2サイトの方から学びました。感謝です。ただどちらも公開後、数年経過した記事なのでいつまでこの方法が使えるかは、、、個々人でお気を付けください。

■RSSを使って、外部サイトの更新情報を自分のサイトに表示する
http://kyasper.com/wordpress-rss/

■WORDPRESS RSSフィードが更新されない
https://goo.gl/CQdzAi

チラシデザインやポスティングをお考えの方は、どこも同じと思わず諦めないで下さい!
『かばのデザイン』ならデザインから印刷、ポスティングまで行います。気軽にお問い合わせ下さい。
横浜のホームページ制作会社『かばのデザイン』 24時間いつでもお問い合わせ   050-3703-6261