非插件純代碼實現(xiàn)WordPress增加瀏覽次數(shù)統(tǒng)計及顯示評論數(shù)

admin wordpress評論963字?jǐn)?shù) 2138閱讀模式

統(tǒng)計瀏覽次數(shù)

這個功能做得比較簡單,沒有做用戶及ip去重,只是單純的統(tǒng)計頁面打開次數(shù),將下面代碼加入模板的function.php中即可

  1. /** 
  2.  * 設(shè)置閱讀次數(shù) 
  3.  * 注意count_key, 后續(xù)都是根據(jù)這個來統(tǒng)計的 
  4.  */  
  5. function set_post_views () {     
  6.     global $post;     
  7.     $post_id = $post -> ID;     
  8.     $count_key = 'views';     
  9.     $count = get_post_meta($post_id, $count_key, true);    
  10.     if (is_single() || is_page()) {     
  11.         if ($count == '') {     
  12.             delete_post_meta($post_id, $count_key);     
  13.             add_post_meta($post_id, $count_key, '0');     
  14.         } else {     
  15.             update_post_meta($post_id, $count_key, $count + 1);     
  16.         }     
  17.     }     
  18. }     
  19. add_action('get_header', 'set_post_views');    

獲取瀏覽次數(shù)

下面函數(shù)可以獲取瀏覽次數(shù),在需要顯示的地方調(diào)用即可

  1. /** 
  2.  * 閱讀次數(shù) 
  3.  * count_key與set函數(shù)的count_key一致 
  4.  */  
  5. function get_post_views ($post_id) {     
  6.     $count_key = 'views';     
  7.     $count = get_post_meta($post_id, $count_key, true);     
  8.     if ($count == '') {     
  9.         delete_post_meta($post_id, $count_key);     
  10.         add_post_meta($post_id, $count_key, '0');     
  11.         $count = '0';     
  12.     }     
  13.     echo number_format_i18n($count);     
  14. }  

使用示例

最常規(guī)的使用應(yīng)該是文章詳情中,一般是文章頁面 (single.php)的while ( have_posts() )后面,部分single.php中有g(shù)et_template_part( ‘template-parts/content’, ‘single’);則需要到conent加上下面的代碼

  1. <?php get_post_views($post -> ID); ?> 閱讀  

顯示評論次數(shù)

在上面瀏覽次數(shù)之后,可以加上評論次數(shù)顯示

  1. <?php get_post_views($post -> ID); ?> 閱讀  
  2. &#160;/&#160;  
  3. <?php comments_number('暫無評論', '1條評論', '% 評論' );?>  

在后臺文章列表統(tǒng)計中增加瀏覽次數(shù)

  1. require_once( trailingslashit( get_template_directory() ) . 'trt-customize-pro/newslite/class-customize.php' );  
  2.   
  3. //在后臺文章列表增加一列數(shù)據(jù)  
  4. add_filter( 'manage_posts_columns', 'ashuwp_customer_posts_columns' );  
  5. /** 
  6.  * 注意"views"需要與之前統(tǒng)計set方法一致 
  7.  */  
  8. function ashuwp_customer_posts_columns( $columns ) {  
  9.     $columns['views'] = '瀏覽次數(shù)';  
  10.     return $columns;  
  11. }  
  12.    
  13. //輸出瀏覽次數(shù)  
  14. add_action('manage_posts_custom_column', 'ashuwp_customer_columns_value', 102);  
  15.   
  16. /** 
  17.  * 注意"views"需要與之前統(tǒng)計set方法一致 
  18.  */  
  19. function ashuwp_customer_columns_value($column, $post_id){  
  20.     if($column=='views'){  
  21.         $count = get_post_meta($post_id, 'views', true);  
  22.         if(!$count){  
  23.             $count = 0;  
  24.         }  
  25.         echo $count;  
  26.     }  
  27.     return;  
  28. }  

版權(quán)聲明:文章圖片資源來源于網(wǎng)絡(luò),如有侵權(quán),請留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2021年9月27日 17:50:13
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://yudch.cn/7724.html
匿名

發(fā)表評論

匿名網(wǎng)友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: