web-dev-qa-db-ja.com

フィード、RSSがキャッシュをクリアできず、キャッシュの有効期間の制限を変更できない

WordPressのフィードシステムは、まったく理由がなく非常に複雑です。

私はずっと回っています。

使ってます:

function do_not_cache_feeds(&$feed) {
    $feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'do_not_cache_feeds' );

define( 'MAGPIE_CACHE_AGE', 1 );

function prefix_set_feed_cache_time( $seconds ) {
    return 1;
}
add_filter( 'wp_feed_cache_transient_lifetime' , 'prefix_set_feed_cache_time' );

私のテーマフォルダの私のfunctions.phpファイルで。

私を超えている理由で動作しませんでした。

だから最初の質問は:私はフィードのキャッシュを取り除くことができる方法はありますか?私はすでにワニスを使っていますか?

次に、現在キャッシュされているフィードについて、それらをクリアする方法を教えてください。

第三に、地獄はどこに保管されているのでしょうか。私は文字通りどこでも見ます。

1
jnbdz

W3 Total Cacheまたは他のキャッシュシステムを使用している場合は、フィードをキャッシュしないようにしてください。

WordPressはフィードを解析するために SimplePie を使用します。混乱を引き起こす可能性があるのは、それらが同時に起こっていることです。最初のSimplePieはフィードをキャッシュします、私はまだそれをクリアする方法またはそれがどこに格納されているか考えていません。しかし、このコードを使用して、キャッシュしないように強制したり、フィードを短期間キャッシュしたりすることができます。

function do_not_cache_feeds(&$feed) {
    $feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'do_not_cache_feeds' );

function prefix_set_feed_cache_time( $seconds ) {
    return 1;
}
add_filter( 'wp_feed_cache_transient_lifetime' , 'prefix_set_feed_cache_time' );

またテスト時にはブラウザのキャッシュをクリアしてください。 SimplePie with WordPressは HTTPCG(HTTP Conditional Get) を使用するためです。 SimplePieキャッシングの詳細については、 SimplePieキャッシング を参照してください。

1
jnbdz