wordpress非插件实现文章浏览人数统计

wordpress版本:4.9.5
主题:dan


2018-12-25更新

这种方式效果不好,主题一更新就可能会失效,因为会将原来已经改好的文件覆盖,推荐采用子主题的形式,把该段代码写在子主题下的 functions.php 中,如何建立子主题,详情见这里



温馨提示:修改主题文件夹下的文件有风险,请做好备份准备。或者先在本地搭建WordPress,方法可以看这里,然后将网站使用的主题拷贝到本地的xx/themes/下,然后启用该主题。最终效果

前面的日期,作者都是主题自带。4浏览是我们加上去的,很漂亮有没有。编辑function.php(默认在/home/wwwroot/wp-content/themes/dan/)文件,在<?php 后面添加如下代码

// begin   2018-5-12   Browse Statistics
function record_visitors()
{
        if (is_singular())
        {
          global $post;
          $post_ID = $post->ID;
          if($post_ID)
          {
                  $post_views = (int)get_post_meta($post_ID, 'views', true);
                  if(!update_post_meta($post_ID, 'views', ($post_views+1)))
                  {
                        add_post_meta($post_ID, 'views', 1, true);
                  }
          }
        }
}
add_action('wp_head', 'record_visitors');

/// 函数名称:post_views
/// 函数作用:取得文章的阅读次数
function post_views($echo = 1)
{
  global $post;
  $post_ID = $post->ID;
  $views = (int)get_post_meta($post_ID, 'views', true);
  if ($echo) return number_format($views);
  else return $views;
}
// end   2018-5-12    Browse Statistics

养成好习惯,给程序添加注释,最好写上时间,这段代码要完成的功能,方便以后检查,保存退出。然后编辑template-tags.php(默认在/home/wwwroot/wp-content/themes/dan/inc/),在echo ‘<span class=”posted-on”>…..(39行附近),末尾单引号“ ’ ”前,加入

<span class="byline"><span class="fas fa-eye fa-fw" aria-hidden="true"></span><a>' . $viewnumber . '浏览</a></span>

主要就是照着原来代码添加,然后稍微改一改,fs-eye是小眼睛,这个随便去别人的网站,看到这个一个小眼睛的东西,谷歌浏览器的话,按F12,找出源代码即可。最后echo里面的内容应该如下面所示

echo '<span class="posted-on"><span class="fas fa-clock fa-fw" aria-hidden="true"></span>' . $posted_on . '</span><span class="byline"><span class="fas fa-user-circle fa-fw" aria-hidden="true"></span>' . $byline . '</span><span class="byline"><span class="fas fa-eye fa-fw" aria-hidden="true"></span><a>' . $viewnumber . '浏览</a></span>'; 

然后在在$byline = sprintf那一段下面,加入如下代码

// begin 2018-5-12 value of viewnumber
 $viewnumber=sprintf(
 __( 'by %s', 'dan' ),
 '' . post_views() . ''
 );
// end 2018-5-12 value of viewnumber

然后保存,退出,这样,就完成了不需要插件就可以统计文章访问量的目的。其它主题也应当类似,关键是找到网页的哪一部分对应代码的哪一部分,然后做相应的修改。

如果在这个过程中遇到了其它问题,欢迎在评论区留言,或者Google一下,也欢迎把具体的解决方法留在评论区,以供后来者参考

欢迎转载,不需注明出处,就说是你写的

参考

发表评论

电子邮件地址不会被公开。

*

code