dux、tob等主题等自带文章浏览量统计,这点是非常好的,因为我们不再需要使用插件或者自己修改代码
如果主题不自带阅读统计功能可以看看这个wordpress利用Post Views Plus插件(或者纯代码)在前台页面和后台文章列表显示浏览量
可是当我们使用wp super cache、wp rocket等缓存插件后就会发现浏览量不自增了,这下可把强迫症的我急坏了,因为不会代码、遂百度之...
网上的解决方案不多,但是也有几篇相关的文章,下面这个是喵叔使用有效的一个:
原文来自:成航先森
首先,在footer.php中添加ajax的代码,注意url的地址要改为自己的php路径:
<?php if (is_singular()) : ?>
<!-- ajax post view -->
<!-- ajax post view -->
<script type= "text/javascript" >
$.ajax({
type:'POST',
url: "/wp-content/themes/*/*.php" , /*此处需要修改为自己的php路径*/
data: {
"postviews_id" : "<?php the_ID();?>"
}
});
</script>
<?php endif ; ?>
将下面内容保存到一个php文件中,放入自己的wordpress主题里面,将该php的访问链接加入到上面的url中:
<?php
//禁止直接访问本php
if ( 'POST' != $_SERVER['REQUEST_METHOD'] ) {
header('Allow: POST');
header('HTTP/1.1 405 Method Not Allowed');
header('Content-Type: text/plain');
exit;
}
require( dirname(__FILE__) . '/../../../wp-load.php' );
nocache_headers();
$post_ID = $_POST['postviews_id'];
$post_views = (int)get_post_meta($post_ID, 'views', true);
update_post_meta($post_ID, 'views', ($post_views+1));
?>
这样就ok拉,在插件后台清除一下缓存,然后开一个隐身窗口打开一篇文章测试一下
你会发现有这样的问题:
- 登陆用户访问、刷新时浏览量会+2
- 访客访问、刷新时浏览量不变
关于第一个问题喵叔也没有办法,这个问题如果你有解决方案请留言,第二个问题其实浏览量已经变化,但不是实时的,你用登陆用户查看就会发现其实数值变化了,缓存下次更新时会加上来。
上面这个方案作者给出了另外一个更好的方法,但是喵叔没成功,并且导致文章特色图片不显示,大家可以试一下:解决WordPress加入CDN后“非插件浏览次数统计”浏览次数不刷新问题
然后喵叔在网上还找到了另外一种解决方案,但是测试无效,喵叔实在不会代码,请大家测试:解决WordPress开启CDN缓存后文章浏览量不自增的问题
最后,如果你有完美的解决方案请留言,在此先谢过!
分享喵
Warning: A non-numeric value encountered in /www/wwwroot/www.fxmiao.net/wp-content/themes/dux/modules/mo_comments_list.php on line 26
看他的,啥问题没有!缓存也不影响,www.osssr.com
Warning: A non-numeric value encountered in /www/wwwroot/www.fxmiao.net/wp-content/themes/dux/modules/mo_comments_list.php on line 26
老哥我咋没用....
Warning: A non-numeric value encountered in /www/wwwroot/www.fxmiao.net/wp-content/themes/dux/modules/mo_comments_list.php on line 26
清除缓存后再试试