WordPress配置WP Super Cache缓存导致不计数的问题

WordPress在设置缓存后:WordPressp配置缓存提高速度,由于是调用静态界面,所以不会触发PHP代码,也就不会更新文章统计数据~增加缓存为了提升访问速度,但是计数也不能不要吧,虽然只是数据库中的一个数字,但是也可以让自己知道自己博客到底有没有访问量~本文介绍非插件版本解决WordPress在配置WP Super Cache缓存后统计不计数的问题 :arrow:

 

WordPress文章计数方法

首要任务要知道WordPress是怎么计数的。这个根据不同的主题所在的位置也不一样,一般是放在functions.php里,更新流程为找到当前阅读的文章->获取到数据库中的当前阅读量->更新数据库信息。以我用的主题方法修改为例:

其中update_post_meta()add_post_meta()都是WordPress自带的方法,用来获取以及更新对应文章相关信息的。

 

通过AJAX动态请求完成文章计数

文章页面(single.php)最下面加入如下js代码:

 

在WordPress后台绑定Action

具体方法是在function.php中绑定这个action,用的是WordPress的add_action()方法:

其中wp_ajax_nopriv_your_action是用来获取匿名用户的请求的,而wp_ajax_your_action是用来获取登录用户的请求的,第二个参数set_post_views则是你要绑定的方法的名称。

 

ajaxurl赋值

Ajax请求中用到的ajaxurl可以直接指定,也可以通过代码获取,以我的网站为例,ajaxurl对应的值是https://www.flyzy2005.com/wp-admin/admin-ajax.php,当然,也可以在functions.php中加入代码动态为每个页面增加一个ajaxurl的全局变量:

 

至此,你已经完成了通过AJAX来解决WordPress配置WP Super Cache缓存导致文章不计数的问题~不过对于访问静态文件的用户来说,他们对应的页面的数值并不会立马更新,等下一次缓存文件全部刷新就会是最新的阅读量~

Telegram频道已经开通,关注flyzythink,随手分享正能量,了解VPS优惠与补货
Telegram群组已经开通,加入flyzy小站,FREE TO TALK
搬瓦工用户交流TG群,加入搬瓦工用户交流群,畅聊搬瓦工
VPS交流群1(已满):780593286 flyzy小站
VPS交流群2:729726961 flyzy小站
搬瓦工交流群(搬瓦工用户推荐):938957834 flyzy小站
搬瓦工补货通知群:618922256 搬瓦工补货通知群
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注