emlog轻松实现网站信息统计的代码与详细讲解

有时候想在网页中向访客展示emlog博客的文章数量、评论数量、运行时间等信息,但emlog后台侧边栏没有提供相关的模块,因此需要博主自主添加博客统计信息代码。下面是整理的emlog网站信息统计代码,已在emlog 5.3.x上测试可用。

调用代码:
方法一:官方缓存类统计代码。优点:加载速度快;缺点:可能信息更新不及时。

把以下代码添加到当前使用的主题模板文件中,如side.php文件:

<?php $sta_cache = Cache::getInstance()->readCache('sta'); /必须添加/ ?>

  • 文章总数:
  • <li>评论总数:<?php echo $sta_cache['comnum_all']; ?> 条</li>
    <li>闲言碎语:<?php echo $sta_cache['twnum']; ?>条</li>       
    <li>网站运行:<?php echo floor((time()-strtotime(20160423))/86400); ?> 天</li>    


附:$sta_cache[‘参数’]中的参数可选如下:

lognum 游客可见日志总数

draftnum 草稿,也就是隐藏文件数量

comnum 未隐藏的评论数量

comnum_all 所有评论数量

hidecomnum 被隐藏的评论数量

twnum 微语数量

checknum 未审核的文章数量

方法二:自编函数,通过SQL语句查询相关数据。缺点:加载速度较缓存类慢;优点:实时显示

把下面的代码添加到主题的module.php文件中:

<?php//统计文章总数function count_log_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE type = 'blog'");return $data['total'];} //置顶文章数function count_log_top(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE top = 'y' or sortop = 'y' AND type = 'blog'");return $data['total'];}//隐藏文章数function count_log_hide(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE hide = 'y' AND type = 'blog'");return $data['total'];} //未审核文章数function count_log_check(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE checked = 'n' AND type = 'blog'");return $data['total'];} //加密文章数function count_log_pass(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE password !='' AND type = 'blog'");return $data['total'];} //统计页面总数function count_page_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE type = 'page'");return $data['total'];} //统计评论总数function count_com_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "comment");return $data['total'];}//统计友链总数function count_link_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "link");return $data['total'];} //统计微语评论总数function count_treply_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "reply");return $data['total'];} //统计分类总数function count_sort_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "sort");return $data['total'];} //统计子分类数function count_sort_mod(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "sort WHERE pid != 0");return $data['total'];} //统计标签总数function count_tag_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "tag");return $data['total'];} //统计微语总数function count_tw_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "twitter");return $data['total'];} //统计用户总数function count_user_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "user");return $data['total'];} //统计管理员总数function count_user_admin(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "user WHERE role = 'admin'");return $data['total'];} //统计作者总数function count_user_writer(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "user WHERE role = 'writer'");return $data['total'];} //统计附件总数function count_att_all(){$db = MySql::getInstance();$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "attachment");return $data['total'];} //最后发表文章时间 function last_post_log(){$db = MySql::getInstance();$sql = "SELECT FROM " . DB_PREFIX . "blog WHERE type='blog' ORDER BY date DESC LIMIT 0,1";$res = $db->query($sql);$row = $db->fetch_array($res);$date = date('Y-n-j H:i',$row['date']);return $date;
};?>
调用代码:

  • 文章总数:
  • 置顶文章:
  • 隐藏文章:
  • 待审文章:
  • 加密文章:
  • 页面总数:
  • 评论总数:
  • 友链总数:
  • 微语评论:
  • 分类总数:
  • 子分类数:
  • 标签总数:
  • 微语总数:
  • 用户总数:
  • 管理员数:
  • 作者总数:
  • 附件总数:
  • 最后更新:
THE END
喜欢就支持以下吧
点赞 0 分享
评论 共0条