DIY網站統計:WordPress排除管理員評論及精準友鏈數的方法
今天關注了一下網站統計,發現留言 1600+,想想肯定是把我自己的留言也算進去了,感覺太水了,不真實!另外友鏈數目也不對,明顯是把所有連結都加進去了!
於是研究了一下統計程式碼,在排除自己的評論、以及友鏈之外的連結後,留言直接縮水到 800+、友鏈也變成準確的 16 個了,這下踏實多了,博主最不喜歡的就是虛誇的資料了(包括文章 view 數,俺都一直只記錄遊客訪問數)!
現在來記錄下 DIY 過程,方便有需要的人:
先貼出知更鳥主題的統計程式碼(注:知更鳥主題這段程式碼在:includes/statistics.php,其他主題一般在側欄模組):
PHP12345678910111213 | <h3>網站統計</h3><div class="statistics"><div class="box_c"><ul>文章:<?php$count_posts=wp_count_posts();echo$published_posts=$count_posts->publish;?>篇</ul><ul>評論:<?phpecho$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments" |
其中,獲取評論條數的程式碼是:
PHP1 | <?phpecho$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments ");?> |
進入 phpMyAdmin 看了下表結構:
看來只要加個條件就可以排除指定的評論了,比如可以用郵箱、暱稱或 ID 作為排除條件。經過分析,個人認為用 ID 是最準確的,因為我換過 3 次郵箱,也改過幾次暱稱,如果硬要用郵箱或者暱稱來排除的話,我必須要加入所有用過的郵箱或暱稱,這樣以來,查詢效率自然就低了,於是我最終改成如下程式碼:
PHP1 | <ul>評論:<?phpecho$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 的評論:
PHP1 | <ul>評論:<?phpecho$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments where user_id!='1' and user_id!='2'");?>條</ul> |
關於統計中如何排除管理員評論就說這麼多了,下面說一下友鏈數的呼叫:
知更鳥預設的友鏈呼叫程式碼如下:
PHP1 | <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 值):
PHP1 | <ul>友鏈:<?php$link=$wpdb->get_var("SELECT COUNT FROM $wpdb->term_taxonomy WHERE term_id='75'");echo$link;?>個</ul> |
噢啦!很小白的教程,希望對一些不懂資料庫和 PHP 的朋友有所幫助吧!