wordpress添加文章阅读数量

本文介绍了一种在WordPress中记录并显示文章阅读次数的方法。通过将特定PHP代码添加到functions.php文件中,可以实现对每篇文章访问量的统计,并在需要展示的地方调用该功能。

将下面代码添加到functions.php

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

然后在需要用到的地方加入下面的代码即可

<?php post_views(); ?>  

 

转载于:https://www.cnblogs.com/Mrrabbit/p/8283760.html

### 实现 WordPress 访问人数统计 为了在 WordPress 网站上实现访问人数统计功能,可以采用两种主要方法:使用现有的插件或自定义代码。 #### 使用插件实现访问人数统计 许多成熟的插件可以帮助轻松集成访客计数器到 WordPress 站点。这些插件通常提供详细的分析报告以及简单的安装过程: - **WP Statistics**: 这款插件不仅能够记录独立访客数量,还能追踪页面浏览次数、最活跃的文章等内容[^1]。 - **MonsterInsights (Google Analytics)**: 如果希望获得更深入的数据洞察力,则可以选择此插件连接 Google Analytics 账户来获取全面的流量统计数据. 通过官方仓库下载并激活上述任一插件即可快速启用该特性而无需编写额外代码。 #### 自定义 PHP 代码实现简单在线人数统计 对于有编程基础的用户而言,在主题文件夹内创建一个新的PHP脚本可能是更为灵活的选择之一。下面是一个基于会话(session)机制的小型解决方案示例: ```php <?php // 将这段代码放置于functions.php 或单独新建一个 .php 文件中加载执行. function count_visitors() { $counter_file = ABSPATH.'visitor_count.txt'; if (!isset($_SESSION['visited'])) { $_SESSION['visited'] = true; if(file_exists($counter_file)){ $count = intval(trim(file_get_contents($counter_file))); file_put_contents($counter_file, ++$count); }else{ file_put_contents($counter_file,'1'); } } echo '当前总访问量:<span id="visit-count">'.file_get_contents($counter_file).'</span>'; } add_action('wp_footer', 'count_visitors'); // 输出在网页底部 ``` 此外还可以利用数组存储IP地址及其对应的过期时间戳以计算实时在线人数,如下所示: ```php <?php $timeout = 300; // 设置超时时长为5分钟 $temp = []; $current_time = time(); $file_path = ABSPATH."online_users.dat"; if (is_readable($file_path)) { foreach (file($file_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $line){ list($ip, $timestamp)=explode(",",$line); if (($current_time - intval($timestamp))<=$timeout && getenv('REMOTE_ADDR')!=$ip ) { array_push($temp,$ip.",".$timestamp."\n"); } } } array_push($temp,getenv('REMOTE_ADDR').",".strval(time()+intval($timeout))."\n"); file_put_contents($file_path, implode("", $temp)); echo "当前在线人数:" . sizeof($temp)."位"; ?> ``` 这种方法可以在不依赖第三方服务的情况下有效地监控网站的人气状况,并且可以根据实际需求调整逻辑部分满足特定应用场景下的要求[^2][^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值