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

时间:2022-05-05
本文章向大家介绍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 的朋友有所帮助吧!