wordrpssのカスタマイズでRSSをいじっていると、すぐに気づく事があります。
それは
RSSが更新されないんだけど。。
と、この事で悩むと思います。
RSSをカスタマイズして、別サイトでRSSを取得してもカスタマイズした箇所が反映されない!?
となります。
この理由は、wordpressでRSSの情報をキャッシュで12時間保存してるからです。
wordpressが高速化の為に無駄なRSS情報の読み込みをやめているんですね。
普段は助かる機能ですが、カスタマイズ中は困ります。
ですのでカスタマイズ中だけキャッシュの時間を短くします。
RSSのキャッシュの時間を短くする
/wp-includes/rss.php
のファイル内の
var $MAX_AGE = 43200;
の箇所を
var $MAX_AGE = 60;
のように60秒にします。
次に
wp-includes/feed.php
のファイル内の
$feed->set_cache_duration( apply_filters( ‘wp_feed_cache_transient_lifetime’, 12 * HOUR_IN_SECONDS, $url ) );
の箇所を
$feed->set_cache_duration( apply_filters( ‘wp_feed_cache_transient_lifetime’, 60, $url ) );
としてこちらも60秒にします。
これで60秒でキャッシュはクリアにされます。
※サイトに負担になるので作業が終わったら元に戻しましょう。