WP-超级缓存从缓存中排除文件

时间:2012-10-29 作者:ranell

是否有排除*.php 文件收件人WP Super Cache?<我的single.php 第an页include news.php, 文件news.php 包含我最近文章的十个链接。

所以我想缓存single.php 但要排除news.php 包含在single.php.

有可能吗?我该怎么做?

2 个回复
SO网友:webaware

而不是合并dynamic content into cached pages, 最好使用AJAX将动态内容拉到浏览器中的这些页面上。

在您的news.php 文件,只需有一个将包含内容的空元素。更好的是,让它包含AJAX spinner 这表明内容即将到来。

<div id="late-load-news">
    <img src="<?php echo get_stylesheet_directory_uri(); ?>/images/ajax-loader.gif" />
</div>
然后使用jQuery加载新闻内容——这段代码包含在主题的函数中。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 在访问期间在浏览器中缓存新闻内容。如果要限制缓存的持续时间,请参阅Session storage with expiry time.

SO网友:shea

按照以下步骤防止缓存news.php 文件:

访问WordPress管理面板中的WP超级缓存设置页面(设置>WP超级缓存)。

访问该页面顶部的“高级”选项卡

向下滚动至Accepted Filenames & Rejected URIs 标题

查找包含以下描述的框:

在此处添加可以缓存的文件名,即使它们与上面指定的被拒绝的子字符串之一相匹配。

进入news.php 在描述下方文本框的新行上

单击Save Files »

结束

相关推荐

如何手动清除Memcached WordPress站点选项?

重新启动memcache节点后,我只在根博客上收到一个错误,来自wp includes/ms设置的错误日志消息很明显。php。[Thu Jul 07 18:55:27 2011] [error] [client 12.34.56.78] PHP Warning: Attempt to assign property of non-object in /var/www/domain.php/wp-includes/ms-settings.php on line 114 从该文件中转储$curre