RSSでFeedlyだけ更新されてなかった問題が解決しました

RSSでFeedlyだけ更新されない件がようやく解決しましたので報告します。
少々強引なやり方ですが確実性があるのでとりあえず解決したと思います。
GUIDのバグが直らないならRSSの記述を変えたらいいじゃないという発想です。

スポンサーリンク

WordPressでRSSをカスタマイズする方法は探せばすぐ出てきます。

上記サイトのようにテンプレートファイルをテーマディレクトリに移し、functions.phpに少しだけコードを記述します。

次に、移したfeed-rss2.php内でGUIDが使われているところを探して書き換えます。

<guid isPermaLink="false"><?php the_guid(); ?></guid>

the_guidという関数が諸悪の根源ですね。
これをthe_IDという関数に変えてあげます。

<guid isPermaLink="false"><?php echo home_url() ?>/?p=<?php the_ID(); ?></guid>

the_IDは「http://hoge.com/?p=123」みたいなURLの”123″にあたる記事IDを出力してくれます。
ということは普通は固有のものになりますね。
home_urlという関数でホームURLを取得し、パーマリンク風に記述することでごまかします。

これでRSSのGUIDが固有の値になったのでFeedlyでちゃんと認識されるようになりました。
根本的には解決していませんがGUIDをRSS以外でどこに使っているか未だにわかってないのでなんとかなっているような感じです。
気づいていないだけでどこかがバグっているのかもしれませんが、それは追々探していきたいと思います。

スポンサーリンク

Leave a Comment