我们看到很多WordPress自带的主题有访客浏览阅读量数值显示的,但是有些时候我们在刷新页面就会自动增加。实际上这样的用户体验是不够准确的,理应是一个用户就显示一次阅读量,不会因为再次刷新而增加。于是我们在制作WordPress主题的时候,可以通过下面的方法来实现不因刷新而变动的浏览阅读量。
第一、自定义函数
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);
}
}
这里我们在 Functions.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);//设置时间间隔
}
?>
然后我们在需要的 Single.php 页面添加需要位置的显示代码。