會想寫這篇文章的起因源於最近工作室團隊的案件,一名客戶網站後台管理介面與前台文章頁的點閱數落差太大(該名客戶的網站單日最高瀏覽量超過二十萬點閱數),所以客戶向我們反應。

接獲該名客戶的回報時,我心裡就在想,會不會是因為上週才把前台文章點閱數放上去,結果就顯現原本網站就有的問題?因為一直以來客戶都有安裝 Cache 和 WP-PostViews 這兩款外掛,只是一直沒有把前台的單篇文章點閱數功能加上,最近客戶要二次改版才提出此要求,沒想到在我們放上單篇文章點閱數之後就顯現了這個問題。

Anyway, 先將解決方法記錄下來。

由於我們客戶發生的問題,是後台點閱數正常,但網站前台單篇文章頁裡面的文章點閱數沒有更新,或是點閱數亂跳、和後台落差很大,所以我們要解決的是透過 AJAX 和 DOM 操作來解決這個問題。

  1. 編輯 WP-PostViews 外掛資料夾底下的 wp-postviews.php 檔案,將下方的程式碼加入:
  2. 接著再把下列程式碼加入 WP-PostViews 外掛資料夾底下的 postviews-cache.js 檔案中:
  3. 預設的點閱數前台調用函式為

    現在修改為

    也就是用 span 這個元素包住它,因為它是 ajax 刷新的計數,最適合這個元素。

[divider]

Okay, 打完儲存更新,done!

 

刪除所有 cache 檔案後,現在單篇文章頁中的文章點閱數就和管理後台的一樣正常計數,不會有落差。

 

飛翔於文字國裏的蝴蝶,我是愛寫文的女子,不要看我的人,請你看看我的文,那裡面全是我的心.和我想對你說的話…… StartOver.回。到。原。點 https://carrielis.com