摘要:wordpress程序默认是没有文章浏览器统计的,之前大挖有给大家介绍过,纯代码为wordpress添加文章浏览量统计功…
wordpress程序默认是没有文章浏览器统计的,之前大挖有给大家介绍过,纯代码为wordpress添加文章浏览量统计功能,但是无论是用纯代码还是使用wordpress插件wp-postview,刷新当前页面还是会算做一个浏览数量,那今天大挖给大家介绍下刷新不重复记录的文章浏览量统计代码.
一、在wordpress主题下functions.php里增加以下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//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);
}
}
|
二、解决刷新统计数增加,一定要放在文章页面的最前面,貌似php设置cookie之前不能有输出,蛋疼。我的是single.php页面
1
2
3
4
5
6
7
8
9
10
11
|
<?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);//设置时间间隔
}
?>
|
其实第一段代码和网上能找到的普通wordpress文章浏览量添加代码是一样的,重点是第二段的需要在文章页面single里面添加的这段代码起着决定性的作用。大家可以使用看看,有更多的方式可以和大挖沟通。
来源:http://www.wazhuti.com/3967.html