1. First, introduce two powerful plug-ins of WordPress:
(1) Count per Day is a very powerful visitor statistics plug-in that can count the number of visitors every day, yesterday, every week, every month, etc. (based on IP), count the number of online visitors, browsers, etc. Search terms, etc., it comes with a variety of calling shortcodes, template tags and widgets to facilitate your own calling and integration.
(2) StatPressCN, displays blog access statistics in real time, and perfectly supports Chinese (such as search keywords, etc.). It can centrally display visitors, crawlers, search keywords, subscription statistics, browsers, operating systems and other information to facilitate you to grasp the access status of your blog in a timely manner. It also provides personalized settings such as customized output, statistical permissions, and information storage period. options. In addition, you can keep track of the status of your blog being subscribed and display it in the sidebar. You can also get the status of visits to all pages (including post, page, archive and homepage). You can also display the status of your blog in the sidebar. Most visited popular articles, etc. Added localized language support for mainland China, Hong Kong and Taiwan (currently supports zh_CN, zh_HK and zh_TW set in wp-config.php).
Although the method of installing plug-ins is very powerful, the disadvantages are also obvious-it can easily affect the loading speed of web pages, so I gave up this method.
2. Secondly, there are a few simple codes to record the number of visitors by counting the number of page refreshes. Put the following code into 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; }
Then call on the interface that needs to be displayed, such as footer.php or header.php:
<?php post_views(' ', ' 次'); ?>
3. Example of PHP native implementation of access counter:
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); } ?>