WordPress侧边栏如何添加站点统计信息?

不要沮丧,不必惊慌,做努力爬的蜗牛或坚持飞的笨鸟,我们试着长大,一路跌跌撞撞,然后遍体鳞伤。坚持着,总有一天,你会站在最亮的地方,活成自己曾经渴望的模样。

我们建立站点有一段时间之后,就可以在侧边栏显示站点的相关统计信息,比如站点已经运行多少天、发布了多少篇文章、有多少条评论,有多少阅读量等等。但是 WordPress 自身是不带有这个功能的,所以需要我们自己注册一个站点统计小工具,然后通过后台 >> 外观 >> 小工具 >> 找到站点统计小工具,然后添加到相应的侧边栏即可。

注册站点统计小工具实现办法

1、新建一个 php 文件,并将以下代码添加到 sidebar_tongji.php 文件中。或者点此直接下载sidebar_tongji.php 文件(密码:dyme)。

  1. <?php
  2. //站点统计小工具
  3. //代码来自网络,版权无从考究
  4. //定义小工具的类EfanBlogStat
  5. classEfanBlogStatextendsWP_Widget{
  6. functionEfanBlogStat(){
  7. //定义小工具的构造函数
  8. $widget_ops=array('classname'=>'widget_blogstat','description'=>'显示站点的统计信息');
  9. $this->WP_Widget(false,'站点统计',$widget_ops);
  10. }
  11. functionform($instance){
  12. //表单函数,控制后台显示
  13. //$instance为之前保存过的数据
  14. //如果之前没有数据的话,设置默认量
  15. $instance=wp_parse_args(
  16. (array)$instance,
  17. array(
  18. 'title'=>'站点统计',
  19. 'establish_time'=>'2018-01-01'
  20. )
  21. );
  22. $title=htmlspecialchars($instance['title']);
  23. $establish_time=htmlspecialchars($instance['establish_time']);
  24. //表格布局输出表单
  25. $output='<table>';
  26. $output.='<tr><td>标题</td><td>';
  27. $output.='<inputid="'.$this->get_field_id('title').'"name="'.$this->get_field_name('title').'"type="text"value="'.$instance['title'].'"/>';
  28. $output.='</td></tr><tr><td>建站日期:</td><td>';
  29. $output.='<inputid="'.$this->get_field_id('establish_time').'"name="'.$this->get_field_name('establish_time').'"type="text"value="'.$instance['establish_time'].'"/>';
  30. $output.='</td></tr></table>';
  31. echo$output;
  32. }
  33. functionupdate($new_instance,$old_instance){
  34. //更新数据的函数
  35. $instance=$old_instance;
  36. //数据处理
  37. $instance['title']=strip_tags(stripslashes($new_instance['title']));
  38. $instance['establish_time']=strip_tags(stripslashes($new_instance['establish_time']));
  39. return$instance;
  40. }
  41. functionwidget($args,$instance){
  42. extract($args);//展开数组
  43. $title=apply_filters('widget_title',empty($instance['title'])?'&nbsp;':$instance['title']);
  44. $establish_time=empty($instance['establish_time'])?'2018-01-01':$instance['establish_time'];
  45. echo$before_widget;
  46. echo$before_title.$title.$after_title;
  47. echo'<ul>';
  48. //$this->efan_get_blogstat($establish_time,$instance);
  49. $this->efan_get_blogstat($establish_time);
  50. echo'</ul>';
  51. echo$after_widget;
  52. }
  53. functionefan_get_blogstat($establish_time/*,$instance*/){
  54. //相关数据的获取
  55. global$wpdb;
  56. $count_posts=wp_count_posts();
  57. $published_posts=$count_posts->publish;
  58. $comments_count=$wpdb->get_var("SELECTCOUNT(*)FROM$wpdb->comments");
  59. $time=floor((time()-strtotime($establish_time))/86400);
  60. $count_tags=wp_count_terms('post_tag');
  61. $count_pages=wp_count_posts('page');
  62. $page_posts=$count_pages->publish;
  63. $count_categories=wp_count_terms('category');
  64. $link=$wpdb->get_var("SELECTCOUNT(*)FROM$wpdb->linksWHERElink_visible='Y'");
  65. $last=$wpdb->get_results("SELECTMAX(post_modified)ASMAX_mFROM$wpdb->postsWHERE(post_type='post'ORpost_type='page')AND(post_status='publish'ORpost_status='private')");
  66. $last=date('Y-n-j',strtotime($last[0]->MAX_m));
  67. $total_views=$wpdb->get_var("SELECTSUM(meta_value+0)FROM$wpdb->postmetaWHEREmeta_key='views'");
  68. //显示数据
  69. $output='<li>日志总数:';
  70. $output.=$published_posts;
  71. $output.='篇</li>';
  72. $output.='<li>评论数目:';
  73. $output.=$comments_count;
  74. $output.='条</li>';
  75. $output.='<li>页面总数:';
  76. $output.=$page_posts;
  77. $output.='个</li>';
  78. $output.='<li>分类总数:';
  79. $output.=$count_categories;
  80. $output.='个</li>';
  81. $output.='<li>标签总数:';
  82. $output.=$count_tags;
  83. $output.='个</li>';
  84. $output.='<li>友链总数:';
  85. $output.=$link;
  86. $output.='个</li>';
  87. $output.='<li>浏览次数:';
  88. $output.=$total_views;
  89. $output.='次</li>';
  90. $output.='<li>建站日期:';
  91. $output.=$establish_time;
  92. $output.='</li>';
  93. $output.='<li>运行天数:';
  94. $output.=$time;
  95. $output.='天</li>';
  96. $output.='<li>最后更新:';
  97. $output.=$last;
  98. $output.='</li>';
  99. echo$output;
  100. }
  101. }
  102. functionEfanBlogStat(){
  103. //注册小工具
  104. register_widget('EfanBlogStat');
  105. }
  106. add_action('widgets_init','EfanBlogStat');
  107. ?>

2、将步骤 1 的 sidebar_tongji.php 文件上传到当前主题文件夹内,并在当前主题的 functions.php 文件最后一个?>的前面添加一下代码

  1. //添加站点统计小工具文件
  2. include("sidebar_tongji.php");

请注意:如果 sidebar_tongji.php 文件不是放在主题根目录,那么第 2 步引用 sidebar_tongji.php 文件的路径就要做相应调整才行。比如是存放在主题文件的 inc 文件夹内,那么就应该是:

  1. //添加站点统计小工具文件
  2. include("inc/sidebar_tongji.php");

具体效果如下:

到此这篇关于WordPress侧边栏如何添加站点统计信息?就介绍到这了。就算你看不清明天的路,也要放手为今天而拼博。更多相关WordPress侧边栏如何添加站点统计信息?内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!