简单的非插件实现wordpress显示当前在线人数方法分享

  • A+
所属分类:wordpress

在浏览其它的网站时,经常会发现有的wordpress网站底部会当前网站在线人数这样一个栏目,感觉很酷的样子。于是网上找了一下,有很多的方法可以实现这个功能,这里分享一种最简单直接方法给大家。

简单的非插件实现wordpress显示当前在线人数方法分享

wordpress显示当前在线人数截图

整个实现过程,只需三步就搞定了,如下:

1.在自已的网站根目录下新建一个count.txt的文本文件,然后来读取其中的数据,所以在测试时,您要将您的根目录下方的对应文件保持可写,也就是属性设置为777。注:其实这一步可以省略,很多时候,加入第二步代码之后,网站的根目录下就自动生成了count.txt这个文件。

2.在您的当前主题的functions文件下添加以下代码(记得是在?>之前):

  1. //检测在线人数
  2. function counter_user_online($temp){
  3. $user_online = "count.txt"//保存人数的文件,网站根目录下
  4. touch($user_online);//如果没有此文件,则创建
  5. $timeout = 120;//120秒内没动作者,认为掉线
  6. $user_arr = file_get_contents($user_online);
  7. $user_arr = explode('#',rtrim($user_arr,'#'));
  8. $temp = array();
  9. foreach($user_arr as $value){
  10. $user = explode(",",trim($value));
  11. if (($user[0] != getenv('REMOTE_ADDR')) && ($user[1] > time())) { //如果不是本用户IP并时间没有超时则放入到数组中
  12. array_push($temp,$user[0].",".$user[1]);
  13. }
  14. }
  15. array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout)).'#'); //保存本用户的信息
  16. $user_arr = implode("#",$temp);
  17. //写入文件
  18. $fp = fopen($user_online,"w");
  19. flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
  20. fputs($fp,$user_arr);
  21. flock($fp,LOCK_UN);
  22. fclose($fp);
  23. echo count($temp);
  24. }

3.这时再在自已的wordpress网站侧边栏或者底部footer添加显示代码,例如蚂蚁博客在示例图是显示在footer.php这个文件中的,那么在footer.php中加入以下代码:

  1. 当前在线:[<?php counter_user_online($temp); ?>人]

到此,当前在线人数这个功能就非常简单的实现了。

发表评论

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

目前评论:4   其中:访客  2   博主  2

    • avatar dilxat 0

      怎么添加在线功能,教我

        • avatar 单触角蚂蚁 Admin

          @dilxat 你的网站怎么打不开?
          如果是wordpress站点,要显示在线人数,只需要两步就好了:
          1.functions文件下添加上面的代码;2.底部footer添加显示代码。

        • avatar 我爱动感单车网 2

          方法不错,简单、便捷!