非插件方式实现 WordPress 文章浏览次数统计

WP教程评论776字数 975阅读模式

网站上要显示文章浏览次数,如果使用的是WordPress程序的话,大部分站长都会选择 WP-PostViews 这个插件。使用插件虽然会比较方便,但是也会有一些副作用。如果使用了大量的插件的话,会拖垮我们的网站速度,所以,今天我们就来给大家介绍一下如何使用通过纯代码实现文章浏览次数统计。

非插件方式实现 WordPress 文章浏览次数统计

此方法是基于 cookie 实现的,当每次我们浏览文章详情的时候,首先会判断当前文章的 cookie 信息是否存在, 如果存在的话则略过,如果不存在的话, 则将浏览次数加一,并将该文章的id写入 cookie。

实现流程如下:

1.在 functions.php 文件添加以下代码

function getPostViews($postID){
    $count_key = 'views';
    $count = get_post_meta($postID, $count_key, true);
    if($count=='' || !$count){
        return "0";
    }
    return $count;
}
function setPostViews($postID){
    $count_key = 'views';
    $count = get_post_meta($postID, $count_key, true);
    if($count=='' || !$count) {
        $count = 1;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, $count);
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
	}
}

2.添加以下代码至主题的 single.php 文件

<?php 
if(!isset($_COOKIE['views'.$post->ID.COOKIEHASH]) || $_COOKIE['views'.$post->ID.COOKIEHASH] != '1'){
	setPostViews($post->ID);
	setcookie('views'.$post->ID.COOKIEHASH,'1',time() + 99999999,COOKIEPATH,COOKIE_DOMAIN);
} 
?>

3. 通过以下代码调用浏览次数

<?php echo getPostViews(get_the_ID());?>

本文已通过「原本」原创作品认证,转载请注明文章出处及链接。

夏日阳光
  • 本文由 夏日阳光 发表于 2019年6月5日
  • 本文为夏日阳光原创文章,转载请务必保留本文链接:https://www.pieruo.com/76.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证