wordpress添加文章浏览统计(刷新不重复)
2024-10-12 20:43:53
wordpress本身不带文章浏览统计,可以用插件wp-postview,但是刷新还是算一个浏览次数。
1.首先在主题下functions.php里增加以下代码,这段代码也是网上可以找到的
//add by charleswu
function getPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if ($count == '') {
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0";
}
return $count;
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if ($count == '') {
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
} else {
$count++;
update_post_meta($postID, $count_key, $count);
}
}
2.解决刷新统计数增加,一定要放在文章页面的最前面,貌似php设置cookie之前不能有输出,蛋疼。我的是single.php页面
<?php
$post_id=get_the_ID();
if(isset($_COOKIE['views'.$post_id.COOKIEHASH]) && $_COOKIE['views'.$post_id.COOKIEHASH] == '1')
{ }
else{
setPostViews($post_id);
setcookie('views'.$post_id.COOKIEHASH,'1',time() + 3600,COOKIEPATH,COOKIE_DOMAIN);//设置时间间隔
}
?>
最新文章
- php读取大文件
- 充满想象力的 JavaScript 物理和重力实验
- 【linux】学习5
- BZOJ 1901 Zju2112 Dynamic Rankings ——整体二分
- MySqlConnection 并发连接的问题
- Python元组的简单介绍
- Linux:/bin/bash和/bin/sh的区别
- EasyUIDataGrid 的List<;T>;转Json
- [BZOJ 1221] [HNOI2001] 软件开发 【费用流 || 三分】
- Spring线程池开发实战
- [Angularjs]$http.post与$.post
- AndroidTv Home界面实现原理(二)——Leanback 库的主页卡位缩放动画源码解析
- GET和POST有什么区别?及为什么网上多数答案都是错的(转载)
- python 中的i++ ,逻辑表达式
- 04单例模式Singleton
- redis,memcache二者的区别是?(优缺点)
- Scala--特质
- poj 1523 SPF(双连通分量割点模板)
- [ Error 分析] Comparison method violates its general contract!
- Nginx 反向代理与负载均衡详解