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' );
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 ;
}
|
Nach dem Login kopieren
然后在需要显示的界面,比如footer.php或header.php等页面调用:
1 | <?php post_views( ' ' , ' 次' ); ?>
|
Nach dem Login kopieren
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>
|
Nach dem Login kopieren
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
function Counter()
{
$five = "00000" ;
$four = "0000" ;
$three = "000" ;
$two = "00" ;
$one = "0" ;
$counter = "record.dat" ;
if (! file_exists ( $counter ))
{
$counter = fopen ( $counter , "w" );
fputs ( $counter , "0" );
fclose( $counter );
}
else
{
$fp = fopen ( $counter , "r+" );
$num = fgets ( $fp , "1024" );
$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 );
}
?>
|
Nach dem Login kopieren
