web-dev-qa-db-ja.com

wp-super-cacheファイルをキャッシュから廃止する

*.phpファイルを WP Super Cache に除外する方法はありますか?
私のsingle.phpページにinclude news.phpがあります。ファイルnews.phpには、私の最後の記事への10個のリンクが含まれています。

だから私はsingle.phpをキャッシュしたいがnews.phpに含まれているsingle.phpは除外したい。

可能です?どうやってやるの?

2
ranell

動的コンテンツをキャッシュされたページに組み込む ではなく、AJAXを使用して動的コンテンツをブラウザのそれらのページにプルする方が得策です。

あなたのnews.phpファイルに、内容を含む空の要素を単に持ってください。さらに良いことに、コンテンツが来ていることを示す AJAXスピナー が含まれているかどうか。

<div id="late-load-news">
    <img src="<?php echo get_stylesheet_directory_uri(); ?>/images/ajax-loader.gif" />
</div>

それからjQueryを使ってあなたのニュースコンテンツをロードします - このコードはあなたのテーマのfunctions.phpに入ります:

/**
* AJAX handler to output an HTML fragment for news
*/
function wpse_70813_news() {
    // stop browser from caching output
    header('Pragma: public');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');

    //...output your news content here...

    exit;
}

add_action('wp_ajax_late-load-news', 'wpse_70813_news');
add_action('wp_ajax_nopriv_late-load-news', 'wpse_70813_news');

/**
* enqueue jQuery
*/
add_action('wp_enqueue_script', function() {
    wp_enqueue_script('jquery');
});

/**
* add footer script to load news
*/
add_action('wp_print_footer_script', function() {
    ?>

    <script>
    jQuery.ajax({
        type : "GET",
        url : "<?php echo admin_url('admin-ajax.php'); ?>",
        dataType : "html",
        data : { action: "late-load-news" },
        success : function(content) {
            jQuery("#late-load-news").html(content);
        }
    });
    </script>

    <?php
});

訪問者が新しいページに移動するたびにコンテンツが読み込まれます。ニュースの内容がそれほど変わらない場合は、 sessionStorage を使用して、訪問中にニュースの内容をブラウザにキャッシュすることをお勧めします。キャッシュの持続時間を制限したい場合は、 有効期限付きのセッションストレージ を参照してください。

5
webaware

news.phpファイルがキャッシュされないようにするには、以下の手順に従ってください。

  1. WordPress管理ダッシュボードのWP Super Cache設定ページにアクセスしてください (Settings> WP Super Cache)

  2. そのページの上部にある[詳細]タブにアクセスしてください。

  3. 承認されたファイル名と拒否されたURI 見出しまでスクロールします。

  4. 次の説明が記載されたボックスを探します。

    上記で指定された拒否された部分文字列の1つと一致する場合でも、キャッシュできるファイル名をここに追加します。

  5. 説明の下のテキストボックスの新しい行にnews.phpを入力します。

  6. をクリックしてファイルを保存"

1
shea