サポート » 使い方全般 » RSSウィジェット

  • デフォルトテーマを使ってブログを作成して約半月です。

    RSSウィジェットを追加し、RSSの配信と共に、フィード内の表示項目を最新の投稿としてサイドバーに表示させたいのですが、投稿してもなかなか更新されません。

    逆に投稿を削除した後もしばらく変更されません。

    約半日経ったくらいに更新されました。

    もう少し早く更新されるように変更できないでしょうか?

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • <?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' );
    ?>
    • 適当な名前の PHP ファイルを作成 (ex. change-feed-cache-lifetime.php)
    • そのファイルを開き、上記のコードを貼り付け、 UTF-8 (BOM なし) で保存
    • プラグインとして WordPress のプラグイン用ディレクトリ (ex. /wordpress/wp-content/plugins/ ) 以下へアップロード (インストール)
    • Change Feed Cache Lifetime プラグインがプラグイン管理ページの一覧に追加されているので、これを有効化

    動作確認していませんが、以上でキャッシュ間隔を 1 時間に変更できるかと思います。
    ただし、最低でも「すべての RSS ウィジェット」についてこのキャッシュ間隔が適用されますので、ご留意ください。

    この問題を解決するために一番良いのはより適切なウィジェットを探して利用すること (特定のカテゴリーやタグなど、任意の条件で最新の投稿を表示でき、 RSS フィードへのリンクが付くもの――ありそうなのでさくっと探してみた範囲では、見つかりませんでしたけど) で、第二に、そういったウィジェットを自作すること、それも難しければ第三は目的にあったテンプレートを作成し sidebar.php に追加することです。 RSS ウィジェットで最新の投稿を表示させるというやり方は、第四番目 (あるいはそれ以下) のあまりオススメできない解決方法だと考えてください。

    ウィジェットについてはちょっと高度になるのでコードの提示はしかねますが、追加するテンプレートの作成くらいはお手伝い出来ますよ。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「RSSウィジェット」には新たに返信することはできません。