WordPress文章閱讀量統計和顯示(非外掛, 重新整理頁面不累加)

sufaith發表於2019-04-03

本文已同步到專業技術網站 www.sufaith.com, 該網站專注於前後端開發技術與經驗分享, 包含Web開發、Nodejs、Python、Linux、IT資訊等板塊.


WordPress文章閱讀量統計實現思路:

每進入一次文章詳情頁面, 就會通過cookie判斷該使用者是否在設定的過期時間內訪問過該文章, 若沒有訪問過, 則瀏覽次數增加一次。

實現流程如下:

1.新增以下程式碼至主題的functions.php檔案, 放在該檔案最下面即可:

function getPostViews($postID){
    $count_key = 'views';
    $count = get_post_meta($postID, $count_key, true);
    if($count=='' || !$count){
        return "0";
    }
    return $count;
}
function setPostViews($postID){
    $count_key = 'views';
    $count = get_post_meta($postID, $count_key, true);
    if($count=='' || !$count) {
        $count = 1;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, $count);
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
	}
}複製程式碼

2.新增以下程式碼至主題的single.php 檔案, 時間間隔可自定義設定, 放在該檔案最上面即可:

<?php 
if(!isset($_COOKIE['views'.$post->ID.COOKIEHASH]) || $_COOKIE['views'.$post->ID.COOKIEHASH] != '1'){
	setPostViews($post->ID);
	setcookie('views'.$post->ID.COOKIEHASH,'1',time() + 99999999,COOKIEPATH,COOKIE_DOMAIN);
} 
?>
複製程式碼

3. 將以下程式碼新增到要顯示瀏覽次數的位置, 例如 文章列表(template-parts/content.php), 文章詳情頁面(template-parts/content-single.php), 搜尋結果頁面(template-parts/content-search.php)等。

<?php echo getPostViews(get_the_ID());?>
複製程式碼

以下是我的個人部落格 www.sufaith.com 新增展示閱讀量的程式碼和實際顯示效果。


WordPress文章閱讀量統計和顯示(非外掛, 重新整理頁面不累加)


WordPress文章閱讀量統計和顯示(非外掛, 重新整理頁面不累加)



相關文章