使用WP Super Cache插件也能让首页实时更新

WP Super Cache 是我推荐的最佳 WordPress 缓存插件,它把整个页面直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 WordPress 博客将显著的提速.

但是如果 WordPress 的首页显示的不是最新日志,而是一个页面,并且这个页面包含实时更新的部分,那么就会存在一个问题,那么这个页面就不会实时更新.

这里我提供一个技巧,可以让你在使用 WP Super Cache 的这个静态缓存插件提速的同时,也能够让首页实时更新,WP Super Cache 是通过 wp_cache_post_edit 这个函数来编辑缓存的,它的参数是日志或者页面的 ID。

所以我们首先获取用于显示首页的页面的 ID,然后在日志更新或者删除的时候,或者有新留言的时候(如果首页没有包含最新留言,这个可不必),刷新首页。所以大致的代码如下:

<?php
add_action('publish_post', 'refresh_front_page', 0); //发布或者更新日志时候刷新首页
add_action('edit_post', 'refresh_front_page', 0); //有新留言或者留言被删除的时候刷新首页
add_action('delete_post', 'refresh_front_page', 0); //删除日志时候刷新首页
add_action('publish_phone', 'refresh_front_page', 0); //通过 email 发布日志之后刷新首页

function refresh_front_page(){
    $front_page_id = get_option('page_on_front'); //获取显示首页的页面 ID
    wp_cache_post_edit($front_page_id); //刷新该页
}
?>

把这段代码复制到主题的 functions.php 即可。

当然如果你想刷新某个页面,也可以是用 wp_cache_post_edit 这个刷新它,参数是页面的 ID。

转载于:http://blog.wpjam.com/m/wp-super-cache-refresh-front-page/