zblogPHP调用文章总数、置顶数、tag总数等相关代码教程

李洋博客 2020-10-10 9.5 K阅读 1评论

温馨提示:这篇文章已超过1265天没有更新,请注意相关的内容是否还可用!

因为主题模板的差异性,在我们制作或者修改的过程中可能会遇到想要调用文章总数、页面总数等相关统计信息,zblog官方wiki是没有现成的标签的,别问,问就是佩奇(猪)比较懒。

zblogPHP调用文章总数、置顶数、tag总数等相关代码教程 第1张

然鹅在zblog后台首页“站点信息”也有信息调用,在百度看了需要教程之后大概统计下有以下几种方案可行,代码如下;

方案1

function 主题ID_GetCount($total) {
    global $zbp;
    //文章数量{主题ID_GetCount('article')}
    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))
    );
    //获取总共评论的数量{主题ID_GetCount('comment')}
    if ($total == 'comment')
        $s = $zbp->db->sql->Count(
        $zbp->table['Comment'],
        array(array('COUNT', 'comm_ID', 'num')),
        array(array('=', 'comm_IsChecking', 0))
    );
    //获取标签数量{主题ID_GetCount('tag')}
    if ($total == 'tag')
        $s = $zbp->db->sql->Count(
        $zbp->table['Tag'],
        array(array('COUNT', 'tag_ID', 'num')),
        null
    );
    //获取置顶数量{主题ID_GetCount('istop')}
    if ($total == 'istop')
        $s = $zbp->db->sql->Count(
        $zbp->table['Post'],
        array(array('COUNT', 'log_ID', 'num')),
        array(array('=', 'log_Type', 0), array('=', 'log_IsTop', 1),array('=', 'log_Status', 0))
    );
    $s = GetValueInArrayByCurrent($zbp->db->Query($s), 'num');
    return $s;
}

除此之外天兴大佬在自己的博客也发布了一些调用统计数量的代码:

方案2

文章总数:{$zbp->cache->all_article_nums}
页面总数:{$zbp->cache->all_page_nums}
标签总数:{$zbp->cache->all_tags_nums} <!--无效-->
浏览总数:{$zbp->cache->all_views_nums} <!--无效-->
评论总数:{$zbp->cache->all_comments_nums} <!--无效-->

不知道为什么啊,可能是ZBP版本不同所以标签、浏览、评论我用的时候是无效的。不知道什么原因导致。

还有一种方案也是我目前在用的,代码如下:

方案3

//站点信息
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;
}

至于选择使用哪种方案自己决定吧,先收藏再说,免得以后需要时找不着!

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

文章版权声明:除非注明,否则均为老李笔记原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (有 1 条评论,9498人围观)
网友昵称:xy
xy V 铁粉 Google Chrome 76.0.3809.87 Windows 10 x64 沙发
2020-10-15 来自广东 回复
还在更新,难得
取消
微信二维码
微信二维码
支付宝二维码