WordPress 侧边栏 站点统计 访客数置零自动恢复 源码

现在个人博客越来越普及,Wordpress 之类的平台也让创建个人博客也越来越简单。Wordpress 本身是没有运行天数、访客数统计等站点统计功能的,而站点统计却是能够直观展示站点运行状态的好功能,所以就想自行加入该功能。在网上找了一下,找到了一些可以在侧边栏直接添加 PHP 代码加入站点统计功能的,但使用了一段时间之后发现,访客数会不定时置零,很麻烦,所以又加了个简单的自动备份恢复功能,还是基于文件读写的,现在本站就在使用。下面是截图和源码。

使用方法:将下面的源码直接全部复制,找到正在使用的主题的文件夹内的 sidebar.php 打开,粘贴到最后一个 div 前面保存。将运行天数那一行的日期改为你的建站日期即可。
wordpress-sidebar-site-statistics-with-visitors-number-to-zero-automatically-restore-source

源码

<!-- 博客统计 -->
<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>

1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

验证码已失效,请刷新验证码