LeoTalk.cn
自由、随心、随性!

WordPress使用缓存插件后不能实时更新首页的解决方法

很多使用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。

赞(1) 打赏
未经允许不得转载:LeoTalk » WordPress使用缓存插件后不能实时更新首页的解决方法
标签:

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏