如何不用wordpress外掛程式顯示文章瀏覽統計功能?
wordpress無外掛程式顯示文章瀏覽數,附原理說明,網路上關於這方面的文章很多了,但是如果不了解下其中原理,難免有些不安,生怕程式碼有什麼漏洞,影響網站的正常訪問。下面就來解釋一下其中的原理,程式碼已經在wordpress 3.4.1版本上測試透過
推薦:wordpress教學
增加文章瀏覽數
wordpress本身不帶文章瀏覽數的統計功能,所以要先將文章瀏覽數記錄起來,才能在顯示文章的時候讀取到瀏覽數。 wordpress的資料庫中文章表是wp_posts,其中沒有瀏覽次數的字段,如果自己加字段改動就大了。比較好的方法就是將資料記錄在wp_postmeta這個表中,這個表就是用來記錄一些文章擴充資料的。實作程式碼如下:
程式碼如下:
/** * 设置文章的浏览次数 * * @param int $postID 文章编号 */ function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if ($count == '') { add_post_meta($postID, $count_key, '1'); } else { $count++; update_post_meta($postID, $count_key, $count); } }
程式碼的流程就是先從wp_postmeta取得文章的瀏覽數,然後判斷:如果沒有取得到則增加文章瀏覽數的數據,初始數值設定為1;否則就將瀏覽數加1,更新文章瀏覽數。
最後只需將這段程式碼複製到主題的funtions.php檔案中,並在文章頁面(single.php)的主循環內呼叫即可,呼叫程式碼如下:
#程式碼如下:
<?php setPostViews(get_the_ID()); ?>
取得文章瀏覽數
文章瀏覽數記錄之後就能讀取到了。程式碼如下:
程式碼如下:
function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ return 1; } return $count; }
程式碼的流程就是從wp_postmeta取得文章的瀏覽數,如果沒有就回傳1,否則就回傳瀏覽數。
將這段程式碼複製到主題的funtions.php檔案中,在需要的地方呼叫這個方法就可以了。
小結
網路上流行的版本有呼叫delete_post_meta,仔細檢視程式碼發現沒有什麼必要。另外還有一個postviews外掛程式也能實現類似功能,不過從官網來看只相容到wordpress 3.3.2版本。
以上是如何不用wordpress外掛顯示文章瀏覽統計功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!