web-dev-qa-db-ja.com

内蔵SimplePieフィードパーサのキャッシュを設定するにはどうすればいいですか?

私はフィードを取得するために組み込みSimplePie、AKA fetch_feed()を使用しています、そして私は管理者メニューからキャッシュ時間を調整できるようにしたいです。 SimplePie 自体はよく文書化されていますが、WordPressによる実装はそれほど多くありません。

キャッシュ期間を設定するための最良の方法について何か考えますか?

1
Dan Gayle

フィード期間の値(デフォルトは43200秒)は、フィードオブジェクトが生成され、フィードURLである追加の引数を付けてwp_feed_cache_transient_lifetimeフィルタを通過するときに設定されます。

これにより、グローバルにも特定のフィードに対しても便利にフィルタリングできます。

これと、その振る舞いを変更するために使用できるその他のフックについては、 fetch_feed()source を参照してください。

1
Rarst

ラーストの解決策について詳しく説明します。私は以下を大いに成功させてきました:

add_filter( 'wp_feed_cache_transient_lifetime', create_function( '$a', 'return 3600;' ) );

これにより、フィードキャッシュが1時間に設定され、feed.phpインクルードの直後に配置する必要があります。

1
Marc