wordpress rss feed 設定メモ
今までrssフィードをページに表示する際にはページのテンプレートに表示処理を書いて、
キャッシュの更新間隔等の設定は「wp-includes\feed.php」内のset_cache_durationを直接変更していた。
これではwordpressを更新した際に変更した設定がデフォルトに戻されるので、
今までは顧客納品時にwordpressの更新はしないでくださいなどと言っていた。
しかし普通に解決方法があったので懺悔がてらメモに記載。
今までやっていた記載。
テンプレートファイル
//WrodPressのfeed.phpの呼び出し include_once ABSPATH . WPINC . '/feed.php'; // 目的のFeedを取得 $feed = fetch_feed('rssのurl'); //以下 $feed内のメンバ関数にて表示処理
wp-includes\feed.php
function fetch_feed( $url ) { ・ ・ ・ //$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', 30 * MINUTE_IN_SECONDS, $url ) ); //更新間隔を30分ごとに変更 }
解決方法
テンプレートファイル
//WrodPressのfeed.phpの呼び出し include_once ABSPATH . WPINC . '/feed.php'; // 目的のFeedを取得 $feed = fetch_feed('rssのurl'); $feed ->set_cache_duration(1800); $feed ->init(); //以下 $feed内のメンバ関数にて表示処理
上記のように普通にインスタンスからset_cache_duration設定できたっぽい。知らなかった。
今まですごい頭悪いことしてたんだな。。。お客様今まで大変申し訳ございませんでした。
以上