デフォルトテーマを使ってブログを作成して約半月です。
RSSウィジェットを追加し、RSSの配信と共に、フィード内の表示項目を最新の投稿としてサイドバーに表示させたいのですが、投稿してもなかなか更新されません。
逆に投稿を削除した後もしばらく変更されません。
約半日経ったくらいに更新されました。
もう少し早く更新されるように変更できないでしょうか?
デフォルトテーマを使ってブログを作成して約半月です。
RSSウィジェットを追加し、RSSの配信と共に、フィード内の表示項目を最新の投稿としてサイドバーに表示させたいのですが、投稿してもなかなか更新されません。
逆に投稿を削除した後もしばらく変更されません。
約半日経ったくらいに更新されました。
もう少し早く更新されるように変更できないでしょうか?
<?php
/*
Plugin Name: Change Feed Cache Lifetime
Plugin URI: http://ja.forums.wordpress.org/topic/2250
Author: mizube
Author URI: http://ja.forums.wordpress.org/profile/419438
Version: 1.0
Description: フィードのキャッシュ間隔を変更。
*/
if ( !defined( 'MY_FEED_CACHE_LIFETIME' ) )
define( 'MY_FEED_CACHE_LIFETIME', 1 ); // hour
function change_feed_cache_lifetime( $default=43200 ) {
if ( !absint( MY_FEED_CACHE_LIFETIME ) ) {
$lifetime = $default;
} else {
$lifetime = MY_FEED_CACHE_LIFETIME * 3600;
}
return $lifetime;
}
if ( !is_admin() )
add_filter( 'wp_feed_cache_transient_lifetime', 'change_feed_cache_lifetime' );
?>
動作確認していませんが、以上でキャッシュ間隔を 1 時間に変更できるかと思います。
ただし、最低でも「すべての RSS ウィジェット」についてこのキャッシュ間隔が適用されますので、ご留意ください。
この問題を解決するために一番良いのはより適切なウィジェットを探して利用すること (特定のカテゴリーやタグなど、任意の条件で最新の投稿を表示でき、 RSS フィードへのリンクが付くもの――ありそうなのでさくっと探してみた範囲では、見つかりませんでしたけど) で、第二に、そういったウィジェットを自作すること、それも難しければ第三は目的にあったテンプレートを作成し sidebar.php に追加することです。 RSS ウィジェットで最新の投稿を表示させるというやり方は、第四番目 (あるいはそれ以下) のあまりオススメできない解決方法だと考えてください。
ウィジェットについてはちょっと高度になるのでコードの提示はしかねますが、追加するテンプレートの作成くらいはお手伝い出来ますよ。
ログイン しなければ投稿できません。