^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 本站wordpress建站教程均通过实践后发布,希望对你有帮助,如果有代码出错,请联系站长解决
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 8年wordpress建站经验,5星服务品质
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人
  • 腾讯云3年2核2G新品轻量限时特惠只需408元

Xiu主题启用wp super cache插件后实现有新评论删除缓存

陌小雨启用 wp super cache 插件后发现网页速度打开确实快了许多,但对于摆脱不了折腾毛病的陌小雨来说,还是时不时的添加一些特色功能,比如陌小雨刚刚又给自己的博客添加了评论博主标示,只要是陌小雨回复的评论后面都有一个尊贵的 admin 标示,如下图:
Xiu主题启用wp super cache插件后实现有新评论删除缓存

但是来访的博友是实时看不到陌小雨新增加的效果的,陌小雨也只有登录后台后才可以看到,所以就有必要实现这样的功能:有新评论时删除文章或页面缓存。在 wp super cache 插件后台有一个选项:
Xiu主题启用wp super cache插件后实现有新评论删除缓存

2 核 2G 限时特惠 396 元/3 年    宝塔建站 10850 大礼包

 

 

陌小雨发现勾选该功能后,并不能实现想要的效果。于是想到了张戈同学曾经分享过的代码版的 wp super cache 后一些优化措施,依葫芦画瓢,陌小雨找到了 xiu 主题下的实现该功能的办法。

首先要在主题文件comments.php中查找下面代码:

do_action('comment_form', $post->ID);

在该串代码下面新增以下代码即可:

//有人评论将自动删除已存在缓存
$post_data = get_post($post->ID, ARRAY_A);
$slug = $post_data['post_name'];
$cache_s = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$post->ID.".html/index.html";
$cache_sd = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$post->ID.".html";
$cache_p = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$slug."/index.html";
$cache_pd = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$slug;
if (file_exists($cache_s)) {
    unlink($cache_s);
    rmdir($cache_sd);
 }
if (file_exists($cache_p)) {
    unlink($cache_p);
    rmdir($cache_pd);
    }

为啥插件自带的不能起作用呢,可能是与 xiu 主题启用了 ajax 评论有关。其他主题的可以找找类似的代码就行。

赠人玫瑰,手有余香。