网站建设

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

Jager · 3月14日 · 2014年 · 1000次已读

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

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

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

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

现在来记录下 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 看了下表结构:

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

看来只要加个条件就可以排除指定的评论了,比如可以用邮箱、昵称或 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 的朋友有所帮助吧!

43 条回应
  1. 寇铈鑫 2014-3-14 · 18:47

    这个终于有用了吧 你也不怎么写清楚点儿呢 统计代码在哪里呢?!

    • avatar
      Jager 2014-3-15 · 8:17

      文中已补充。

      主题不同,位置也会不同,所以就没写具体位置了。。。

  2. 龙三公子 2014-3-14 · 21:23

    非常牛B啊,三个月不到就这么多评论和留言,我的都快两年了。 [泪]

    • avatar
      Jager 2014-3-15 · 8:11

      都是互访来的。。。

      • 龙三公子 2014-3-16 · 23:27

        不是吧,那一天你该多少个人的啊?

        • avatar
          Jager 2014-3-17 · 8:13

          其实最开始我还是会到处点链接,认识一些新朋友,人一多了之后,我感觉就时间不够了,毕竟我还要上班~~只能做到有访必回,以及友情链接需要互访一下~~有时间我还是多开拓一下新朋友吧~~ [呵呵]

          • 龙三公子 2014-3-17 · 21:27

            一般来我博客的我也做到有访必回,有段时间我也天天松松的导航访问别人的发现也没多少人回访,就没有坚持。

  3. 夏日博客 2014-3-15 · 8:45

    WP好像是不计自己的回复评论的。

    • avatar
      Jager 2014-3-15 · 9:09

      应该是用了多说的缘故。

  4. 彼岸时光网 2014-3-15 · 10:02

    之前也想过修改,后面因为工作的关系,就没折腾主题了。

    • avatar
      Jager 2014-3-15 · 10:21

      互推联盟iframe通用代码已制作,欢迎测试~~
      https://zhang.ge/2073.html

    • avatar
      Jager 2014-3-15 · 10:22

      这个还算简单,再难的我就搞不定了。。。我是PHP小白。

  5. WordPress主题 2014-3-15 · 12:57

    准备把网址改变了,用一个主题DIY中。哈哈

    • avatar
      Jager 2014-3-15 · 12:59

      纳尼?你那个wpmee不要了?

      • WordPress主题 2014-3-15 · 13:00

        要啊。暂时有这个想法。总是喜欢折腾,唉。是把主题变了,打错了

        • avatar
          Jager 2014-3-15 · 13:13

          看到了,也是扁平化风格,不错~

  6. 撒哈拉的小猫 2014-3-15 · 15:28

    使劲折腾吧

    • avatar
      Jager 2014-3-15 · 16:12

      [囧]

  7. 小新 2014-3-15 · 20:28

    都不想太折腾了。。。为了兴趣天天忙活这个真是需要毅力啊。。

    • avatar
      Jager 2014-3-15 · 21:29

      哈哈,这个还不算折腾吧~~毕竟就改了一点点东西。

      • 小新 2014-3-15 · 22:00

        这个不是说这个啦 是说博客。。

        • avatar
          Jager 2014-3-17 · 8:12

          恩,折腾很累,很多时候搞定了这个,可能又影响了那个。。。

  8. cy 2014-3-18 · 11:07

    看看我的评论统计。

    • avatar
      Jager 2014-3-18 · 11:19

      很强大!强烈要求分享源码。

    • avatar
      Jager 2014-3-18 · 11:19

      NB~

  9. Anonymous 2014-3-27 · 17:48

    我去!!!差这么多啊~~原来我们一直被蒙蔽~~

    • avatar
      Jager 2014-3-27 · 20:52

      把自己的算进去了,基本是一半一半。

      • Anonymous 2014-3-28 · 15:36

        这是一语惊醒梦中人啊。。。我还以为我的评论这么多呢,,,瞬间桑心了

        • avatar
          Jager 2014-3-28 · 16:58

          也不一定呢~得看统计代码有没有排除自己的。

          • Anonymous 2014-3-29 · 17:20

            估计没有~~我还是有点自知之明滴~

  10. 玩赚乐 2014-4-17 · 10:50

    [吃惊]

  11. 梦轩丽人 2014-5-9 · 11:50

    多说中的文章评论数怎么去掉管理员的评论?

    • avatar
      Jager 2014-5-9 · 12:31

      如果是侧边栏的话,可以在主题小工具里面设置。

  12. 广东教师招聘 2014-5-10 · 20:47

    WP忽悠了大家了哦!

    • avatar
      Jager 2014-5-10 · 21:05

      嗯,是的。

  13. leiboy 2014-5-14 · 21:34

    我喜欢多一点,看着舒服,哈哈

    • avatar
      Jager 2014-5-14 · 21:35

      我都排除了,感觉太水了。。

      • leiboy 2014-5-14 · 21:39

        这个这个,其实就是个数字而已

  14. 360社团 2014-5-29 · 17:43

    数据库,从来没进去过我网站的数据库。

  15. 足球论坛 2014-11-30 · 12:38

    你还是个技术控没看出来啊

  16. 小武 2014-12-23 · 13:09

    写博客统计的时候从百度进来的 关键词[wordpress 友链数量],不过没用上你得代码,我得过滤掉我收藏的链接。
    最后通过翻数据库解决了 :oops:

    SELECT count FROM $wpdb-&gt;term_taxonomy where term_id in(97,155)