wordpress本身不帶文章瀏覽統計,可以用插件wp-postview,但是刷新還是算一個瀏覽次數。
1.首先在主題下functions.php里增加以下代碼,這段代碼也是網上可以找到的
1 //add by charleswu 2 function getPostViews($postID) { 3 $count_key = 'post_views_count'; 4 $count = get_post_meta($postID, $count_key, true); 5 if ($count == '') { 6 delete_post_meta($postID, $count_key); 7 add_post_meta($postID, $count_key, '0'); 8 return "0"; 9 } 10 return $count; 11 } 12 function setPostViews($postID) { 13 $count_key = 'post_views_count'; 14 $count = get_post_meta($postID, $count_key, true); 15 if ($count == '') { 16 $count = 0; 17 delete_post_meta($postID, $count_key); 18 add_post_meta($postID, $count_key, '0'); 19 } else { 20 $count++; 21 update_post_meta($postID, $count_key, $count); 22 } 23 }
2.解決刷新統計數增加,一定要放在文章頁面的最前面,貌似php設置cookie之前不能有輸出,蛋疼。我的是single.php頁面
1 <?php 2 $post_id=get_the_ID(); 3 if(isset($_COOKIE['views'.$post_id.COOKIEHASH]) && $_COOKIE['views'.$post_id.COOKIEHASH] == '1') 4 { 5 6 } 7 else{ 8 setPostViews($post_id); 9 setcookie('views'.$post_id.COOKIEHASH,'1',time() + 3600,COOKIEPATH,COOKIE_DOMAIN);//設置時間間隔 10 } 11 ?>