好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

调用WordPress函数统计文章访问量及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中:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

/* 访问计数 */

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等页面调用:

?

1

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<?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 );

  }

?>

查看更多关于调用WordPress函数统计文章访问量及PHP原生计数器的实现的详细内容...

  阅读:46次