wordpress中非插件统计文章浏览次数

简介:

非插件统计文章浏览次数

1.在主题的 functions.php文件的最后一个 ?> 前面添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* 访问计数 */ function  record_visitors(){
     if  (is_singular())
     {
       global  $post ;
       $post_ID  =  $post ->ID;
       if ( $post_ID )
       {
           $post_views  = (int)get_post_meta( $post_ID ,  'views' , true);
           if (!update_post_meta( $post_ID ,  'views' , ( $post_views +1)))
           {
             add_post_meta( $post_ID ,  'views' , 1, true);
           }
       }
     }}add_action( 'wp_head' ,  'record_visitors' );  /// 函数名称:post_views/// 函数作用:取得文章的阅读次数function post_views($before = '(点击 ', $after = ' 次)', $echo = 1){
   global  $post ;
   $post_ID  =  $post ->ID;
   $views  = (int)get_post_meta( $post_ID ,  'views' , true);
   if  ( $echo )  echo  $before , number_format( $views ),  $after ;
   else  return  $views ;}

2.在需要显示该统计次数的地方使用下面的代码调用:

1
阅读:<?php post_views( ' ' ,  ' 次' ); ?>

获取浏览次数最多的文章

如果要获取上面的函数统计出来的浏览次数最多的文章,可以在 functions.php文件的最后一个 ?> 前面添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// get_most_viewed_format/// 函数作用:取得阅读最多的文章function get_most_viewed_format($mode = '', $limit = 10, $show_date = 0, $term_id = 0, $beforetitle= '(', $aftertitle = ')', $beforedate= '(', $afterdate = ')', $beforecount= '(', $aftercount = ')') {
   global  $wpdb ,  $post ;
   $output  =  '' ;
   $mode  = ( $mode  ==  '' ) ?  'post'  :  $mode ;
   $type_sql  = ( $mode  !=  'both' ) ?  "AND post_type='$mode'"  :  '' ;
   $term_sql  = ( is_array ( $term_id )) ?  "AND $wpdb->term_taxonomy.term_id IN ("  . join( ',' ,  $term_id ) .  ')'  : ( $term_id  != 0 ?  "AND $wpdb->term_taxonomy.term_id = $term_id"  :  '' );
   $term_sql .=  $term_id  ?  " AND $wpdb->term_taxonomy.taxonomy != 'link_category'"  :  '' ;
   $inr_join  =  $term_id  ?  "INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)"  :  '' ;    // database query
   $most_viewed  =  $wpdb ->get_results( "SELECT ID, post_date, post_title, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) $inr_join WHERE post_status = 'publish' AND post_password = '' $term_sql $type_sql AND meta_key = 'views' GROUP BY ID ORDER BY views DESC LIMIT $limit" );
   if  ( $most_viewed ) {
    foreach  ( $most_viewed  as  $viewed ) {
     $post_ID     =  $viewed ->ID;
     $post_views  = number_format( $viewed ->views);
     $post_title  = esc_attr( $viewed ->post_title);
     $get_permalink  = esc_attr(get_permalink( $post_ID ));
     $output  .=  "<li>$beforetitle$post_title$aftertitle" ;
     if  ( $show_date ) {
       $posted  =  date (get_option( 'date_format' ),  strtotime ( $viewed ->post_date));
       $output  .=  "$beforedate $posted $afterdate" ;
     }
     $output  .=  "$beforecount $post_views $aftercount</li>" ;
    }
   }  else  {
    $output  =  "<li>N/A</li>n" ;
   }
   echo  $output ;}

然后使用下面的函数调用:

1
<?php get_most_viewed_format(); ?>



本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1886331

相关文章
|
缓存 JavaScript 数据库
如何快速地将WordPress文章内所有外部图片转换为本地链接?
nicen-localize-image 是一款适用于 Wordpress 的插件,旨在本地化文章中的外部图片。主要功能包括:发布前通过编辑器插件本地化、手动发布时自动本地化、定时发布时自动本地化以及批量本地化已发布文章的图片。支持自定义保存路径、添加 alt 属性优化 SEO
504 60
|
存储 SQL 编解码
WordPress插件:WPJAM Basic优化设置
WPJAM Basic插件的「优化设置」凝聚了我爱水煮鱼博客多年使用WordPress的经验,涵盖功能屏蔽与增强优化两大模块。功能屏蔽部分可关闭如文章修订、Trackbacks、XML-RPC服务等冗余或潜在风险功能;增强优化则包括Google字体与Gravatar加速、防止Frame嵌入等实用设置,大幅提升网站性能与安全性,同时简化分类链接、添加图片时间戳等功能进一步优化用户体验。该插件是WordPress用户不可或缺的高效工具。
468 2
|
安全 机器人 API
【转】WordPress防垃圾评论:Akismet插件安装教程
Akismet 是 WordPress 官方推荐的反垃圾评论插件,由 Automattic 开发,全球安装量超 500 万次。它能智能识别并拦截垃圾评论与恶意链接,保护网站整洁与 SEO 排名。本文详解其安装、注册与配置步骤,助你轻松启用这一强大工具,为网站安全保驾护航。
492 5
|
前端开发 UED
【转】WordPress 评论解锁插件开发教程
本文介绍如何开发一款WordPress评论解锁插件,实现“评论后查看隐藏内容”功能。通过短代码封装、Cookie识别评论状态、样式加载等核心逻辑,帮助网站提升互动性与内容价值。插件支持自定义提示语和样式,兼顾用户体验与安全性,适用于资源分享、文章互动等场景。
336 0
|
前端开发 数据安全/隐私保护
“WP页面水印助手”的WordPress插件
“WP页面水印助手”的WordPress插件
402 14
如何将WordPress文章中的外链图片自动下载到本地?
在WordPress中使用外链图片可能影响稳定性与加载速度,而手动下载上传又过于繁琐。为此,推荐一款强大的开源插件——**nicen-localize-image**。它可自动将外链图片保存到本地,支持文章发布前、手动发布、定时发布时自动本地化,以及对已发布文章进行批量处理。插件功能丰富、操作简单,有效提升效率,确保图片资源的稳定性和页面性能。
536 3
|
存储 监控 安全
用户为啥跳出页面?装这个WordPress插件,直接看回放!
nicen-replay 是一款强大的用户行为监控与回放插件,可完整记录用户在网站上的操作,如点击、滚动、输入等,并以视频形式呈现,助您深度分析用户行为。支持表单填写回放(隐私脱敏)、轻量无感监控,且数据存储于本地服务器,安全合规。适用于电商、内容创作、企业官网等多种场景,帮助优化用户体验和提升转化率。
418 3
|
API 网络架构
WordPress定时发布插件
这是一款用于WordPress的定时发布插件,可将后台、REST API及草稿箱中的文章按设定时间自动发布,避免文章立即上线。支持指定或随机延迟发布,以及周期性发布草稿箱内容。插件依赖WordPress计划任务功能,确保稳定运行。附产品截图展示设置界面。
497 10
|
搜索推荐 数据库 SEO
WordPress生成长尾关键词插件
这是一款强大的长尾关键词获取工具,支持从百度、360、搜狗、头条、必应、Yandex、Google等搜索引擎抓取长尾关键词。具备寄生模式,仅需少量种子关键词即可持续扩展;支持自动或手动获取关键词,可将结果导出至文件、数据库表、分类或标签。功能全面,适用于SEO优化与内容创作。产品截图展示了设置界面与长尾关键词获取效果。
460 4
WordPress标签导入插件
本工具可将TXT文件中的标签或分类导入网站,支持标签与分类关联文章。主要功能包括:1. 导入上传的TXT文件或指定文件夹下的标签/分类文件;2. 支持导入至自定义分类/标签;3. 分类或标签可关联已有文章,支持随机或完整关联;4. 可设置关联文章类型、匹配字段及最大关联数量。产品截图展示导入标签或分类的实际效果。
377 3