Wordpress没有显示文章浏览数的插件,有原理说明。网上有很多关于这方面的文章,但是如果不知道原理,难免会感到不安,生怕代码有什么漏洞影响网站的正常访问。我们来解释一下原理。代码已经在WordPress版本3.4.1上测试过了。
增加浏览文章的数量
Wordpress本身不具备文章浏览量的统计功能,所以在显示文章时需要记录文章浏览量才能阅读浏览量。wordpress的数据库中的文章表是wp_posts,其中没有浏览次数字段。如果你自己添加字段变化,它会很大。更好的方法是将数据记录在wp_postmeta表中,该表用于记录一些文章扩展数据。实现代码如下:
复制代码如下:
/**
*设置文章的浏览次数
*@paramint$postid文章编号
*/
函数setpostviews($postID)
$count=get_post_meta($postID,$count_key,true);
if($count==''){
add_post_meta($postID,$count_key,'1');
}else{
$count++;
update_post_meta($postID,$count_key,$count);
}
}
代码流程是先从wp_postmeta获取文章浏览量,然后做出判断:如果没有获取数据,则增加文章浏览量,初始值设为1;否则,浏览数加1,更新文章浏览数。
最后,只需将这段代码复制到主题的funtions.php文件中,并在文章页面的主循环中调用它(single.php)。调用代码如下:
复制代码如下:
<?PHPsetPostViews(get_the_ID());?>
获取文章浏览量
浏览记录数后即可阅读文章。代码如下:
复制代码如下:
FunctionGetPostViews($postID){
$count_key='post_views_count';
$count=get_post_meta($postID,$count_key,true);
if($count==''){
return1;
}
return$count;
}
代码流程是从wp_postmeta获取文章的浏览次数,如果没有则返回1,否则返回浏览次数。
将这段代码复制到主题的funtions.php文件中,并在需要的地方调用这个方法。
总结
网上流行的版本调用delete_post_meta,不用仔细看代码。还有一个postviews插件可以实现类似的功能,但是只兼容官网的WordPress3.3.2版本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)