现在个人博客越来越普及,Wordpress 之类的平台也让创建个人博客也越来越简单。Wordpress 本身是没有运行天数、访客数统计等站点统计功能的,而站点统计却是能够直观展示站点运行状态的好功能,所以就想自行加入该功能。在网上找了一下,找到了一些可以在侧边栏直接添加 PHP 代码加入站点统计功能的,但使用了一段时间之后发现,访客数会不定时置零,很麻烦,所以又加了个简单的自动备份恢复功能,还是基于文件读写的,现在本站就在使用。下面是截图和源码。使用方法:将下面的源码直接全部复制,找到正在使用的主题的文件夹内的 sidebar.php 打开,粘贴到最后一个 div 前面保存。将运行天数那一行的日期改为你的建站日期即可。
<!-- 博客统计 --> <div class="widget"> <h1 class="widget-title">站点统计</h1> <ul> <li>文章总数:<?php echo wp_count_posts()->publish;?> 篇</li> <li>页面总数:<?php echo wp_count_posts('page')->publish;?> 个</li> <li>评论总数:<?php echo wp_count_comments()->total_comments?> 条</li> <li>分类总数:<?php echo wp_count_terms('category')?> 个</li> <li>标签总数:<?php echo wp_count_terms('post_tag')?> 个</li> <li>运行天数:<?php echo floor((time()-strtotime("2014-04-05"))/86400);?> 天</li> <li>访问总数:<?php $counterFile = "counter.txt"; $counterBackupFile = "counter_bak.txt"; function displayCounter($counterFile, $counterBackupFile) { $fp = fopen($counterFile, "r"); $num = fgets($fp, 10); fclose($fp); $fp = fopen($counterBackupFile, "r"); $numBak = fgets($fp, 10); fclose($fp); if ($num < 10) { if ($numBak > 10) { $num = $numBak; } } if (!is_user_logged_in()) { $num += 1; $fp = fopen($counterFile, "w"); fputs($fp, $num, 10); fclose($fp); if ($num % 20 == 0 && $num > 10) { $fp = fopen($counterBackupFile, "w"); fputs($fp, $num, 10); fclose($fp); } } echo "$num"." 人次"; } if (!file_exists($counterFile)) { fopen($counterFile, "w"); fputs($fp, 0, 10); fclose($fp); } if (!file_exists($counterBackupFile)) { fopen($counterBackupFile, "w"); fputs($fp, 0, 10); fclose($fp); } displayCounter($counterFile, $counterBackupFile); ?></li> </ul> </div>
本文固定链接:www.itechzero.com/wordpress-sidebar-site-statistics-with-visitors-number-to-zero-automatically-restore-source.html,转载请注明出处。