• wordpress3.0.1を使用してサイト作成を行っています。

    便宜上、「メインサイト」、「サブサイト」と呼びます。
    サブサイトの方はサブドメインで運用しています。

    アドレスで言うと・・・
    メイン:http://example.com
     サブ:http://sub.example.com
    という感じです。

    ————————————————————

    サブサイトから下記のようなフィードを行っています。
    <link rel=”alternate” type=”application/rss+xml” title=”サブサイトのフィード” href=”http://sub.example.com/?feed=rss2&#8243; />

    ※headタグ内に定義
    ————————————————————

    このフィードをメインサイトで受信し、表示したいのです。
    (サブサイトの最新情報をメインサイトに表示するということです。)
    表示はできているのですが、内容が最新のものではありません。
    ————————————————————

    メインサイトでは下記のように受信しています。

    $rss = fetch_rss(‘http://sub.example.com/?feed=rss2&#8217;);
    $maxitems = 5;
    $items = array_slice($rss->items, 0, $maxitems);
    ・・・以下、表示するHTML

    ————————————————————

    フィードしているURL(http://sub.example.com/?feed=rss2)を
    ブラウザで見ると最新の情報が正しく表示されています。

    メインサイトで受信し表示しているのが、最新情報になりません。
    色々と手を尽くしたのですが、解決方法が分かりません。

    どなたかご存知の方がおられれば、ご教授お願いいたします。

    ブラウザはIE8、FireFox3で同じ現象を確認しています。
    ————————————————————

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 phiria

    (@phiria)

    追加情報なのですが・・・

    他のドメインから、サブサイトのRSSを取得して表示したら、
    最新のものになっていました。

    と言うことは、メインサイトの方はキャッシュのようなものが残っていて
    それを表示しているということになるのでしょうか?

    情報をお持ちの方がおられましたら、よろしくお願いいたします。

    phiriaさん、こんにちは。

    fetch_rss関数は、デフォルトで1時間のキャッシュを持つようになっています。
    キャッシュを利用しないようにするには、テーマのfunctions.phpか、wp-config.phpに

    define('MAGPIE_CACHE_ON', 0);

    と記述すれば、キャッシュの利用を止められるはずです。

    ただし、毎回RSSを読み込むのは表示速度の低下に繋がりますので、ある程度のキャッシュ時間は持たせておいた方が良いでしょう。

    キャッシュ時間の変更は、

    define('MAGPIE_CACHE_AGE', nnn );

    * nnnは、キャッシュの秒数

    で調整できます。

    トピック投稿者 phiria

    (@phiria)

    jim912さん
    返信ありがとうございます。

    お寄せいただいた情報を試してみましたが、
    結果は変わりませんでした・・・。

    情報ありがとうございました。

    phiriaさんと同じ疑問を抱え、検索からこのページに辿りつきました。

    jim912さんのアドバイスをもとに、試行錯誤した結果、次の方法を思いつきました。

    $serial = time();
    $rss = fetch_rss(“http://sub.example.com/?feed=rss2&version={$serial}”);
    $maxitems = 5;
    $items = array_slice($rss->items, 0, $maxitems);

    要は、サーバがキャッシュを参照していることが原因ですので、毎回呼び出すURLを変えてみる、という試みです。

    わたくしの環境では、読み込む feed に「feed=rss2」のような他のクエリを必要としなかったため、うまくいきましたが、phiriaさんの状況では他の工夫が必要になるかもしれません。

    シリアル値の発行も、わたくしの方法はうまくないですね。
    もっといい方法があればと思案しています。

4件の返信を表示中 - 1 - 4件目 (全4件中)

トピック「RSSが更新されない」には新たに返信することはできません。