国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

調用WordPress函數統計文章訪問量及PHP原生計數器的實現

2024-09-07 00:40:19
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了調用WordPress函數統計文章訪問量及PHP原生計數器的實現,文中作者也提到了WordPress中的兩款插件不過出于性能考慮并不推薦插件方式的實現,需要的朋友可以參考下。

1.首先介紹WordPress的兩款功能強大的插件:

(1)Count per Day 是一個非常強大的訪客數量統計插件,可以統計每天、昨天、每周、每月等等的訪客數量(根據IP進行統計),統計在線訪客數、瀏覽器、搜索詞等等,自帶多種調用簡碼、模板標簽以及小工具,方便你自行調用和集成。

(2)StatPressCN,實時顯示blog的訪問統計,完美支持中文(如搜索關鍵字等)。它可以集中顯示來訪者、爬蟲、搜索關鍵字、訂閱統計、瀏覽器、操 作系統等信息,方便您及時把握blog的訪問情況,同時還提供了定制輸出、統計權限、信息存儲期等個性化設置選項。另外,您可以隨時掌握blog被訂閱的 情況并把它放在側欄中顯示,還可以獲得所有頁面(包括post、page、archive以及homepage)被訪問的情況,還可以在側欄中顯示 blog中被訪問最多的熱門文章等。 增加了對中國大陸和港臺地區的本地化語言支持(目前支持wp-config.php中設置為zh_CN、zh_HK和zh_TW)。

安裝插件的方式固然功能很強大,但是弊端也是顯而易見的——容易影響網頁加載速度,所以我放棄了這種方式。

2.其次,是簡單的幾條代碼,通過統計網頁刷新的次數來記錄訪客數的,把以下代碼放到function.php中:

  1. /* 訪問計數 */ 
  2. function record_visitors() 
  3.  if (is_singular()) 
  4.  { 
  5.  global $post
  6.  $post_ID = $post->ID; 
  7.  if($post_ID
  8.  { 
  9.  $post_views = (int)get_post_meta($post_ID'views', true); 
  10.  if(!update_post_meta($post_ID'views', ($post_views+1))) 
  11.  { 
  12.  add_post_meta($post_ID'views', 1, true); 
  13.  } 
  14.  } 
  15.  } 
  16. add_action('wp_head''record_visitors'); 
  17.    
  18. /// 函數名稱:post_views 
  19. /// 函數作用:取得文章的閱讀次數 
  20. function post_views($before = '(點擊 '$after = ' 次)'$echo = 1) 
  21.  global $post
  22.  $post_ID = $post->ID; 
  23.  $views = (int)get_post_meta($post_ID'views', true); 
  24.  if ($echoecho $before, number_format($views), $after
  25.  else return $views

然后在需要顯示的界面,比如footer.php或header.php等頁面調用:

<?php post_views(' ', ' 次'); ?>

3.PHP原生實現訪問計數器示例:

index.php

  1. <?php 
  2.  include("counter.php"
  3. ?> 
  4.  
  5. <html> 
  6.  <head> 
  7.  <title>訪問計數器</title> 
  8.  </head> 
  9.  
  10.  <body> 
  11.   <center> 
  12.   <h1>訪問者計數器</h1> 
  13.   <U>                 <!--下劃線--> 
  14.   <font size="6" face="隸書" >你是第</font> 
  15.   <B> 
  16.    <font size="9" face="Verdana" color="#ffcc00"
  17.    <?php Counter() ?>             <!--調用函數--> 
  18.    </font> 
  19.   </B> 
  20.   <font size="6" face="隸書" >個訪問者</font> 
  21.   </U> 
  22.   </center> 
  23.  </body> 
  24. </html> 

counter.php

  1. <?php 
  2.  //$five,$four 等變量表示零的個數,放在數字前邊構成6位 
  3.  function Counter() 
  4.  {         //定義函數 
  5.   $five = "00000";          //聲明變量 
  6.   $four = "0000"
  7.   $three = "000"
  8.   $two = "00"
  9.   $one = "0"
  10.   $counter = "record.dat";      //存放訪問數的目的文件,.dat格式 
  11.   if(!file_exists($counter))     //判斷文件是否存在 
  12.   { 
  13.    $counter = fopen($counter,"w"); 
  14.    fputs($counter,"0");      //寫入文件 
  15.    fclose($counter); 
  16.   } 
  17.   else 
  18.   { 
  19.    $fp = fopen($counter,"r+"); 
  20.    $num = fgets($fp,"1024");    //如果文件存在則讀出文件,并加 1 
  21.    $num = $num + 1; 
  22.    if($num < 10) 
  23.     print "$five"."$num"
  24.    elseif($num < 100) 
  25.     print "$four"."$num"
  26.    elseif($num < 1000) 
  27.     print "$three"."$num"
  28.    elseif($num < 10000) 
  29.     print "$two"."$num"
  30.    elseif($num < 100000) 
  31.     print "$one"."$num"
  32.    else 
  33.     print "$num"
  34.   } 
  35.   $fp = fopen($counter,"w"); 
  36.   fputs($fp,"$num"); 
  37.   fclose($fp); 
  38.  } 
  39. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜南县| 昌邑市| 克什克腾旗| 中卫市| 贵阳市| 峨眉山市| 武乡县| 高要市| 禄劝| 江山市| 定边县| 鹿泉市| 宝山区| 颍上县| 西青区| 湾仔区| 宜宾市| 屏东县| 天等县| 兴化市| 新干县| 合川市| 科技| 舞钢市| 彝良县| 资阳市| 长武县| 牡丹江市| 遂宁市| 东平县| 石狮市| 汝阳县| 旅游| 云南省| 福清市| 竹溪县| 马龙县| 宜春市| 咸宁市| 墨竹工卡县| 六盘水市|