本文已同步到專業技術網站 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 新增展示閱讀量的程式碼和實際顯示效果。