|

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

目录
    本文上次更新于 1826 天前,其内容可能已经过时,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

    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一下,也欢迎把具体的解决方法留在评论区,以供后来者参考

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

    参考

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

    感谢您的支持,请扫码打赏

    微信打赏 支付宝打赏
    guest
    0 评论
    内联反馈
    查看所有评论