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

首頁 > CMS > Wordpress > 正文

Wordpress利用Ajax實現文章瀏覽次數統計代碼

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

WordPress 實現一個對瀏覽數的統計其實是很簡單的,現在主流的方式有兩種,一種是通過代碼來統計,一種是通過 wp-postviews 插件,而前者在使用緩存插件的時候就無力了,后者支持緩存(使用 Ajax).

但實現一個這么簡單的功能還得用一個插件實在是不劃算,折騰了下,弄出一個可以支持緩存的代碼,同樣也是使用 Ajax,首先是代碼:

  1. function Bing_statistics_visitors( $cache = false ){ 
  2.  global $post
  3.  $id = $post->ID; 
  4.  if$cache ) $id = $_GET['id']; 
  5.  if( ( !is_singular() && !$cache ) || !$id ) return
  6.  if( WP_CACHE && !$cache ){ 
  7.   echo '<script type="text/javascript">window.onload=function(){var e=null;window.XMLHttpRequest?e=new XMLHttpRequest:e=new ActiveXObject("Microsoft.XMLHTTP"),e.open("GET","' . admin_url( 'admin-ajax.php' ) . '",!0),e.send("action=visitors&id=' . $id . '")}</script>'
  8.   return
  9.  } 
  10.  $post_views = (int) get_post_meta( $id'views', true ); 
  11.  if( !update_post_meta( $id'views', ( $post_views + 1 ) ) ) add_post_meta( $id'views', 1, true ); 
  12. add_action( 'wp_head''Bing_statistics_visitors' ); 
  13.  
  14. //解決緩存問題 
  15. function Bing_statistics_cache(){ 
  16.  Bing_statistics_visitors( true ); 
  17. add_action( 'wp_ajax_nopriv_visitors''Bing_statistics_cache' ); 
  18. add_action( 'wp_ajax_(www.111cn.net)visitors''Bing_statistics_cache' ); 
  19.  
  20. //獲取計數 
  21. function Bing_get_views( $get = true ){ 
  22.  global $post
  23.  $views = number_format( (int) get_post_meta( $post->ID, 'views', true ) ); 
  24.  if$get ) return $views
  25.  echo $views

代碼在開啟統計的時候自動會輸出一段小 JS 來進行 Ajax,如果你已經開啟緩存,使用我的代碼的時候別忘了刪除全部緩存文件.

用 Bing_get_views() 函數獲取或輸出數量,代碼如下:

  1. //獲取 
  2. echo Bing_get_views(); 
  3. //直接打印 
  4. Bing_get_views( false ); 

另外我補充一種像js調用php頁面統計代碼,文章模板包含以下語句:

<SCRIPT src="counter.asp?articleId=<%=#articleId#%>"></SCRIPT >

counter.asp 文件為實現記數的asp文件:

  1. <% 
  2. dim articleId,sqlStr,hits 
  3. articleId=int(trim(request.querystring("articleId"))) 
  4. sqlStr="update articles set hits=hits 1 where articleId=" & articleId 
  5. '給文章點擊數加1 
  6. conn.execute(sqlStr) 
  7. '讀出文章點擊數 
  8. hits=conn.execute("select hits from articles where articleId=" & articleId)(0) 
  9. %> 
  10. '//打印出文章點擊數 
  11. document.write(<%=hits%>) 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台南市| 滨州市| 鲁山县| 眉山市| 安平县| 新乡市| 丰顺县| 全南县| 崇信县| 格尔木市| 大理市| 德昌县| 太康县| 平度市| 柘城县| 彩票| 泰和县| 永福县| 南丰县| 武安市| 金堂县| 宁南县| 黄大仙区| 乌审旗| 拜泉县| 文登市| 罗田县| 沅陵县| 西峡县| 大田县| 邢台市| 介休市| 韩城市| 萨嘎县| 井冈山市| 柞水县| 天门市| 乌兰县| 白水县| 美姑县| 夏津县|