有时候想在网页中向访客展示emlog博客的文章数量、评论数量、运行时间等信息,但emlog后台侧边栏没有提供相关的模块,因此需要博主自主添加博客统计信息代码。下面是整理的emlog网站信息统计代码,已在emlog 5.3.x上测试可用。
调用代码:
方法一:官方缓存类统计代码。优点:加载速度快;缺点:可能信息更新不及时。
把以下代码添加到当前使用的主题模板文件中,如side.php文件:
1 2 3 4 5 6 7 |
<?php $sta_cache = Cache::getInstance()->readCache('sta'); /*必须添加*/ ?><ul> <li>文章总数:<?php echo $sta_cache['lognum']; ?> 篇</li> <li>评论总数:<?php echo $sta_cache['comnum_all']; ?> 条</li> <li>闲言碎语:<?php echo $sta_cache['twnum']; ?>条</li> <li>网站运行:<?php echo floor((time()-strtotime(20160423))/86400); ?> 天</li> </ul> |
附:$sta_cache[‘参数’]中的参数可选如下:
-
lognum 游客可见日志总数
-
draftnum 草稿,也就是隐藏文件数量
-
comnum 未隐藏的评论数量
-
comnum_all 所有评论数量
-
hidecomnum 被隐藏的评论数量
-
twnum 微语数量
-
checknum 未审核的文章数量
方法二:自编函数,通过SQL语句查询相关数据。缺点:加载速度较缓存类慢;优点:实时显示
把下面的代码添加到主题的module.php文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
<?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; };?> |
调用代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<ul> <li>文章总数:<?php echo count_log_all();?></li> <li>置顶文章:<?php echo count_log_top();?></li> <li>隐藏文章:<?php echo count_log_hide();?></li> <li>待审文章:<?php echo count_log_check();?></li> <li>加密文章:<?php echo count_log_pass();?></li> <li>页面总数:<?php echo count_page_all();?></li> <li>评论总数:<?php echo count_com_all();?></li> <li>友链总数:<?php echo count_link_all();?></li> <li>微语评论:<?php echo count_treply_all();?></li> <li>分类总数:<?php echo count_sort_all();?></li> <li>子分类数:<?php echo count_sort_mod();?></li> <li>标签总数:<?php echo count_tag_all();?></li> <li>微语总数:<?php echo count_tw_all();?></li> <li>用户总数:<?php echo count_user_all();?></li> <li>管理员数:<?php echo count_user_admin();?></li> <li>作者总数:<?php echo count_user_writer();?></li> <li>附件总数:<?php echo count_att_all();?></li> <li>最后更新:<?php echo last_post_log();?></li> </ul> |
觉得文章有用就打赏一下文章作者
微信扫一扫打赏