潘老师个人博客之前不是使用了WP-Optimize缓存插件嘛,发现使用后文章虽然有很多用户点击访问,但是后台的文章阅读量一直没有更新,如果使用cdn也会存在这种情况,今天找了一个方法成功解决了wordpress使用缓存或cdn后文章阅读量不更新的问题。
现在直接上代码:
1)第一步:新建名为views.php的文件,代码内容如下:

程序员导航
优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站
0, 'views' => 1, 'response' => $post_views)));
exit;
}else{
print_r(json_encode(array('error' => 1, 'views' => 0, 'response' => $post_views)));
exit;
}
?>
该代码作用就是根据访问文章的id,更新数据库中该文章的访问量,也就是执行访问量加1操作,并返回最新的阅读量。
然后将该文件上传到主题下的action目录(如果没有,就自己就新建一个)
2)第二步:新建一个名为currentviews.js的js文件,代码如下:
function getpostviews(postid) {
$.ajax({
type: "POST",
url: 'https://www.你的域名.com/wp-content/themes/你的主题目录/action/views.php',
dataType: "json",
data: {
"post_ID": postid
},
success: function(data, textStatus, xhr) {
if (data.error) {
return false;
} else {
// 这里的样式换为自己的
$(".currentviews").text("阅读量(" + data.response + " )");
}
}
});
}
注意这里的.currentviews是我的阅读量标签对应的class样式,你根据自己的情况进行设置。
然后将文件上传至你的主题的assets存放静态资源的目录下,比如我的就放在/wp-content/themes/Git-alpha/assets/js目录下。

AI 工具导航
优网导航旗下AI工具导航,精选全球千款优质 AI 工具集
3)第三步:修改footer.php
这里有两种方式,一种是修改single.php文章页,在最后加上对currentviews.js的引用和一段js脚本代码,类似如下:
//引入js,主要次js依赖jQuery,需要放在最后 //调用接口代码
第二种方式是,为了避免在文章页加载该js,更建议放在footer.php下,通过is_single()方法判断只有是文章页的时候,才会调用更新文章阅读量的接口,因此找到主题下的footer.php,新增如下代码:
这两种方式,选择一种就可以了。
4)第四步:最后重新刷新你网站的缓存,就能实现文章阅读量更新了。
使用此方法,就轻松解决了wordpress使用缓存或cdn后文章阅读量不更新的问题了。

免费在线工具导航
优网导航旗下整合全网优质免费、免注册的在线工具导航大全



