说明
现在个人博客越来越普及,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,转载请注明出处。