记录ZBlogPHP如何调用文章总数、访问量等相关代码做一个网站统计功能

文章最后更新时间:2023年11月06日已超过894天没有更新。

在浏览别人网站的时候发现网站侧栏有个网站统计功能,里面记录着文章总数、标签总数、浏览总量、最后更新、安全运行几天几天等相关信息挺高大尚的。于是冒出了一个想法自己的网站是否也可以加上一个这种功能呢?查看了下对方的网站的源代码发现是使用WordPress建站的,使用Z-BlogPHP程序建站的是否也支持呢?于是抱着喜欢的学习的态度百度查找各种资料,更改最后实现了这个功能。简单写个教程记录下ZBlogPHP如何调用文章总数、置顶数、tag总数等相关代码做一个网站统计功能,同时也给需要同学提供一丢丢帮助。

代码片段

获取文章数量评论的数量标签数量

在主题目录下的include.php配置文件中添加如下代码

function 主题ID_GetCount($total) {
    global $zbp;
    if ($total == 'article')
        $s = $zbp->db->sql->Count(
        $zbp->table['Post'],
        array(array('COUNT', 'log_ID', 'num')),
        array(array('=', 'log_Type', 0),  array('=', 'log_Status', 0))
    );
    if ($total == 'comment')
        $s = $zbp->db->sql->Count(
        $zbp->table['Comment'],
        array(array('COUNT', 'comm_ID', 'num')),
        array(array('=', 'comm_IsChecking', 0))
    );
    if ($total == 'tag')
        $s = $zbp->db->sql->Count(
        $zbp->table['Tag'],
        array(array('COUNT', 'tag_ID', 'num')),
        null
    );
    $s = GetValueInArrayByCurrent($zbp->db->Query($s), 'num');
    return $s;
}

调用代码

<p>文章总数:{主题ID_GetCount('article')}</p>
<p>评论总数:{主题ID_GetCount('comment')}</p>
<p>标签总数:{主题ID_GetCount('tag')}</p>

李洋大佬的方案

//站点信息
function 主题ID_all_views() {
    //总访问量
    global $zbp;
    $all_views = GetValueInArrayByCurrent($zbp->db->Query('SELECT SUM(log_ViewNums) AS num FROM ' . $GLOBALS['table']['Post']), 'num');
    return $all_views;
}
function 主题ID_all_artiles() {
    //文章总数
    global $zbp;
    $all_artiles = GetValueInArrayByCurrent($zbp->db->Query('SELECT COUNT(*) AS num FROM ' . $GLOBALS['table']['Post'] . ' WHERE log_Type=\'0\''), 'num');
    return $all_artiles;
}
function 主题ID_all_comments() {
    //评论总数
    global $zbp;
    $all_comments = $zbp->cache->all_comment_nums;
    return $all_comments;
}

调用代码

<p>总访问量:{主题ID_all_views()}</p>
<p>文章总数:{主题ID_all_artiles()}</p>
<p>评论总数:{主题ID_all_comments()}</p>

站点总访问量代码也可以使用官网自带的代码

<p>总访问量:{$zbp->cache->all_view_nums}</p>

2种方案都可以获取到文章总数、访问量等信息

运行了多少天代码

在网站底部<body>标签中添加如下javascript代码

<script type="text/javascript">
var 
s1 = '2016-07-08';//设置为你的建站时间  
s1 = new Date(s1.replace(/-/g, "/"));  
s2 = new Date();  var days = s2.getTime() - s1.getTime();  
var number_of_days = parseInt(days / (1000 * 60 * 60 * 24));  
document.getElementById('days').innerHTML = number_of_days;  
</script>

调用代码

<span id="days">0</span> 天

文章最新更新时间

在需要的地方添加如下代码

<p>{foreach GetList(1) as $newlist}<li><span>{$newlist.Time('Y年m月d日')}</span></li>{/foreach}</p>

代码解释

GetList(1)是调用最新1篇文章;

{$newlist.Time('Y年m月d日')}是文章发布时间;

最后实现效果如下

image.png

至于选择使用哪种方案,网站是否增加这个统计,CSS样式美化等等自己决定吧,加这个功能纯属个人喜欢,简单写个教程记录下,免得以后需要时到忘记了怎么调用,同时也给需要同学提供一丢丢帮助。

最后感谢各位大佬的无私奉献,像你们致敬~~~


© 除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处

取消
微信二维码
微信二维码
支付宝二维码