wordpress使用缓存或cdn后文章阅读量不更新解决办法

IT 文章4年前 (2022)发布 小编
0 0 0

潘老师个人博客之前不是使用了WP-Optimize缓存插件嘛,发现使用后文章虽然有很多用户点击访问,但是后台的文章阅读量一直没有更新,如果使用cdn也会存在这种情况,今天找了一个方法成功解决了wordpress使用缓存或cdn后文章阅读量不更新的问题

现在直接上代码:

1)第一步:新建名为views.php的文件,代码内容如下:

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式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目录下。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

3)第三步:修改footer.php

这里有两种方式,一种是修改single.php文章页,在最后加上对currentviews.js的引用和一段js脚本代码,类似如下:

//引入js,主要次js依赖jQuery,需要放在最后

//调用接口代码

第二种方式是,为了避免在文章页加载该js,更建议放在footer.php下,通过is_single()方法判断只有是文章页的时候,才会调用更新文章阅读量的接口,因此找到主题下的footer.php,新增如下代码:




这两种方式,选择一种就可以了。

4)第四步:最后重新刷新你网站的缓存,就能实现文章阅读量更新了。

使用此方法,就轻松解决了wordpress使用缓存或cdn后文章阅读量不更新的问题了。

ad

免费在线工具导航

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

© 版权声明

相关文章

暂无评论

暂无评论...