调用WordPress函数统计文章访问量及PHP原生计数器的实现

5年以前  |  阅读数:992 次  |  编程语言:PHP 

1.首先介绍WordPress的两款功能强大的插件:

(1)Count per Day 是一个非常强大的访客数量统计插件,可以统计每天、昨天、每周、每月等等的访客数量(根据IP进行统计),统计在线访客数、浏览器、搜索词等等,自带多种调用简码、模板标签以及小工具,方便你自行调用和集成。
(2)StatPressCN,实时显示blog的访问统计,完美支持中文(如搜索关键字等)。它可以集中显示来访者、爬虫、搜索关键字、订阅统计、浏览器、操 作系统等信息,方便您及时把握blog的访问情况,同时还提供了定制输出、统计权限、信息存储期等个性化设置选项。另外,您可以随时掌握blog被订阅的 情况并把它放在侧栏中显示,还可以获得所有页面(包括post、page、archive以及homepage)被访问的情况,还可以在侧栏中显示 blog中被访问最多的热门文章等。 增加了对中国大陆和港台地区的本地化语言支持(目前支持wp-config.php中设置为zh_CN、zh_HK和zh_TW)。
安装插件的方式固然功能很强大,但是弊端也是显而易见的――容易影响网页加载速度,所以我放弃了这种方式。

2.其次,是简单的几条代码,通过统计网页刷新的次数来记录访客数的,把以下代码放到function.php中:


    /* 访问计数 */
    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($before = '(点击 ', $after = ' 次)', $echo = 1)
    {
     global $post;
     $post_ID = $post->ID;
     $views = (int)get_post_meta($post_ID, 'views', true);
     if ($echo) echo $before, number_format($views), $after;
     else return $views;
    }

然后在需要显示的界面,比如footer.php或header.php等页面调用:


    <?php post_views(' ', ' 次'); ?>

3.PHP原生实现访问计数器示例:
index.php


    <?php
     include("counter.php")
    ?>

    <html>
     <head>
     <title>访问计数器</title>
     </head>

     <body>
      <center>
      <h1>访问者计数器</h1>
      <U>                 <!--下划线-->
      <font size="6" face="隶书" >你是第</font>
      <B>
       <font size="9" face="Verdana" color="#ffcc00">
       <?php Counter() ?>             <!--调用函数-->
       </font>
      </B>
      <font size="6" face="隶书" >个访问者</font>
      </U>
      </center>
     </body>
    </html>

counter.php


    <?php
     //$five,$four 等变量表示零的个数,放在数字前边构成6位
     function Counter()
     {         //定义函数
      $five = "00000";          //声明变量
      $four = "0000";
      $three = "000";
      $two = "00";
      $one = "0";
      $counter = "record.dat";      //存放访问数的目的文件,.dat格式
      if(!file_exists($counter))     //判断文件是否存在
      {
       $counter = fopen($counter,"w");
       fputs($counter,"0");      //写入文件
       fclose($counter);
      }
      else
      {
       $fp = fopen($counter,"r+");
       $num = fgets($fp,"1024");    //如果文件存在则读出文件,并加 1
       $num = $num + 1;
       if($num < 10)
        print "$five"."$num";
       elseif($num < 100)
        print "$four"."$num";
       elseif($num < 1000)
        print "$three"."$num";
       elseif($num < 10000)
        print "$two"."$num";
       elseif($num < 100000)
        print "$one"."$num";
       else
        print "$num";
      }
      $fp = fopen($counter,"w");
      fputs($fp,"$num");
      fclose($fp);
     }
    ?>

2016321150924969.png \(622×179\)

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例