专栏首页张戈的专栏DIY网站统计:WordPress排除管理员评论及精准友链数的方法

DIY网站统计:WordPress排除管理员评论及精准友链数的方法

今天关注了一下网站统计,发现留言 1600+,想想肯定是把我自己的留言也算进去了,感觉太水了,不真实!另外友链数目也不对,明显是把所有链接都加进去了!

于是研究了一下统计代码,在排除自己的评论、以及友链之外的链接后,留言直接缩水到 800+、友链也变成准确的 16 个了,这下踏实多了,博主最不喜欢的就是虚夸的数据了(包括文章 view 数,俺都一直只记录游客访问数)!

现在来记录下 DIY 过程,方便有需要的人:

先贴出知更鸟主题的统计代码(注:知更鸟主题这段代码在:includes/statistics.php,其他主题一般在侧栏模块):

<h3>网站统计</h3>     
<div class="statistics">  
    <div class="box_c">  
        <ul>文章:<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?>篇</ul>  
        <ul>评论:<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");?>条</ul>  
        <ul>分类:<?php echo $count_categories = wp_count_terms('category'); ?>个</ul>  
        <ul>标签:<?php echo $count_tags = wp_count_terms('post_tag'); ?>个</ul>  
        <ul>友链:<?php $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?>个</ul>  
        <ul>运行:<?php echo floor((time()-strtotime(get_option('swt_builddate')))/86400); ?>天</ul>  
        最后更新:<?php $last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')");$last = date('Y年m月d日', strtotime($last[0]->MAX_m));echo $last; ?>         
          </div>  
    <div class="clear"></div>  
</div>

其中,获取评论条数的代码是:

<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments ");?>

进入 phpMyAdmin 看了下表结构:

看来只要加个条件就可以排除指定的评论了,比如可以用邮箱、昵称或 ID 作为排除条件。经过分析,个人认为用 ID 是最准确的,因为我换过 3 次邮箱,也改过几次昵称,如果硬要用邮箱或者昵称来排除的话,我必须要加入所有用过的邮箱或昵称,这样以来,查询效率自然就低了,于是我最终改成如下代码:

<ul>评论:<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments where user_id!='1'");?>条</ul>

其实就是在 select 语句中加入了 where 判断而已,where user_id!='1' 就是排除 id=1 的评论,而管理员的 ID 值一般都为 1,当然如果你有多个管理员,只要去 phpMyAdmin 中找到对应的 ID,然后加入其中即可,如下代码则为排除帐号 ID 为 1 以及 ID 为 2 的评论:

<ul>评论:<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments where user_id!='1' and user_id!='2'");?>条</ul>

关于统计中如何排除管理员评论就说这么多了,下面说一下友链数的调用:

知更鸟默认的友链调用代码如下:

<ul>友链:<?php $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?>个</ul>

如此调用将会获得所有链接的数量,比如玛思阁除了友情链接之外,还有一大把的互推联盟的站点链接,所以这样得到的数量就远远多于友链的数目了,我就再折腾一下好了,如下将 count(*) 改成 count、将 link_visible='Y' 改term_id='75' 即可(75 请改成你的友情链接的 ID 值):

<ul>友链:<?php $link = $wpdb->get_var("SELECT COUNT FROM $wpdb->term_taxonomy WHERE term_id='75'"); echo $link; ?>个</ul>

噢啦!很小白的教程,希望对一些不懂数据库和 PHP 的朋友有所帮助吧!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows下获取网络连线实际名称,加强IP类设置脚本的兼容性

    在之前的工作中,由于分区域管理,TCP 设置有差异,所以编写过很多关于 IP 切换的脚本,作为大批量电脑维护的脚本,最重要的就是兼容性,可不能就测试的那几台电脑...

    张戈
  • Linux运维基础技能: 脚本编程与Linux命令

    本系列文章一共三篇,分别为《脚本编程与 Linux 命令》、《接入层与网络基础》和《 MySQL 与 SQL 优化》,由腾讯高级工程师 luaruan(阮永顺)...

    张戈
  • WordPress开启颜色评论但不造成XSS漏洞的小方法

    前段时间分享过一些 XSS 漏洞的修复技巧,而且也说到了 WordPress 开启颜色评论需要在 functions.php 中插入如下代码,也就是禁用 Wor...

    张戈
  • Flink 1.7 文档翻译活动期待大家的参与 | ApacheCN

    参与方式:https://github.com/apachecn/flink-doc-zh/blob/master/CONTRIBUTING.md

    ApacheCN_飞龙
  • 详解Android用Shape制作单边框图的两种思路和坑

    开发中遇到单/多边框的UI,简单的可以自己写shape图,复杂的一般都让设计配合制作9patch图了。

    砸漏
  • NodeJS是如何监听文件的变化?

    Keywords: 操作系统差异、识别用户/编辑器操作、连续触发的优化、工程级 API。

    心谭博客
  • 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据

    无需在被监控主机上安装代理,一键对Linux远程服务器不同主机执行性能监控、性能数据采集命令,并实时展示

    授客
  • 向jboss写入服务器日志

    实际开发中,记录日志是常用的功能,jboss默认情况下已经记录了很多运行日志,如果开发人员要手动在server.log中写入日志,可以参考下面的方法: 1 p...

    菩提树下的杨过
  • kubernete编排技术七:secret

    在前面文章中,我们讲RBAC的时候提到了secret,kubernetes中的secret对象用来保存一些敏感信息,比如密码、token、ssh key等。相比...

    jinjunzhu
  • lxc容器入门操作

    LXC是Linux containers的简称,Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。LXC在隔离...

    虚拟化云计算

扫码关注云+社区

领取腾讯云代金券