在WordPress中为每一篇文章提供个“浏览次数”计数,一来可以间接地给访客一种文章有价值的暗示,二来方便自己获取相关数据(访客的内容偏好等等),三貌似想不到了。实现文章浏览次数很多人使用如wp-postviews 这类WordPress插件,但是使用wordpress的一条黄金准则是“少用插件,能用代码实现不用插件”。网络上有不少方法,现在提供一下目前本站正在使用的方法:
原理:通过自定义字段来保存浏览次数,每执行一次主循环loop,数据+1。
一、将下面的代码丢入主题下的funtions.php的文件的最后一个 ?> 内:
//文章浏览次数 Devework.com
function getPostViews($postID){
$count_key = 'views';
$count = get_post_meta($postID, $count_key, true);
//如果为空设置为0
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0";
}
return $count;
}
//设置浏览数-参数文章ID
function setPostViews($postID) {
$count_key = 'views';
$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{
//如果不为空,加1,更新数据
$count++;
update_post_meta($postID, $count_key, $count);
}
}
二、打开主题的single.php,找到下面这段代码:
if(have_posts()): while(have_posts()):the_post();
在其后面加上一句setPostViews(get_the_ID());即是上面的代码变为:
if (have_posts()) : while (have_posts()) : the_post();setPostViews(get_the_ID());
三、在需要显示的地方添加以下代码调用:
浏览:次
当然,“点击xx次”可以修改你想要得内容。
如果你想手动调整数据(比如想调高数据装B一下),可以在文章编辑页面的自定义栏目的views的数字改为你需要的。
这样就大功告成!现在又干掉了一个WP postviews插件!